/* Prodígito · páginas de SEGMENTO · ganchos para o Elementor.
   Carregar DEPOIS de prodigito-elementor.css (que já traz ps-btn, ps-card, ps-tag,
   ps-more, ps-gt, ps-hl, ps-photo, ps-rv e a base .ps-html).
   Só entra aqui o que o Elementor não resolve pelo painel. */

/* ---------- 1 · hero claro: fundo (widget HTML hero-fundo.html) ---------- */
.ps-herolight{position:relative;overflow:hidden;isolation:isolate}
.ps-herobg{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.ps-herobg .aur{position:absolute;border-radius:50%;filter:blur(90px);will-change:transform;
  translate:calc(var(--mx,0)*var(--k,-30)*1px) calc(var(--my,0)*var(--k,-30)*1px);transition:translate .8s ease-out}
.ps-herobg .aur--a{width:520px;height:520px;left:-160px;top:-180px;background:rgba(103,237,63,.30);--k:-36;animation:psd1 24s ease-in-out infinite alternate}
.ps-herobg .aur--b{width:600px;height:600px;right:-180px;top:-60px;background:rgba(25,239,199,.32);--k:28;animation:psd2 28s ease-in-out infinite alternate}
.ps-herobg .aur--c{width:680px;height:380px;left:34%;bottom:-260px;background:rgba(103,237,63,.18);--k:-18;animation:psd3 32s ease-in-out infinite alternate}
.ps-herobg .grain{position:absolute;inset:0;opacity:.5;background:
  repeating-linear-gradient(90deg,rgba(0,23,32,.045) 0 1px,transparent 1px 72px),
  repeating-linear-gradient(0deg,rgba(0,23,32,.045) 0 1px,transparent 1px 72px);
  -webkit-mask-image:radial-gradient(130% 100% at 20% 0%,#000,transparent 72%);
  mask-image:radial-gradient(130% 100% at 20% 0%,#000,transparent 72%)}
@keyframes psd1{from{transform:translate(0,0) scale(1)}to{transform:translate(150px,110px) scale(1.18)}}
@keyframes psd2{from{transform:translate(0,0) scale(1.1)}to{transform:translate(-170px,100px) scale(.9)}}
@keyframes psd3{from{transform:translate(0,0) scale(1)}to{transform:translate(190px,-40px) scale(1.2)}}
/* o conteúdo do hero precisa ficar acima do fundo */
.ps-z1{position:relative;z-index:1}

/* ---------- 2 · trilha (breadcrumb) ---------- */
.ps-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:400 13px/20px var(--font-text);color:#41606C}
.ps-crumb a{color:#41606C;text-decoration:none}
.ps-crumb a:hover{color:#001720;text-decoration:underline}
.ps-crumb b{color:#001720;font-weight:700}
.ps-crumb svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.5}

/* ---------- 3 · etiquetas de público (chips) ---------- */
.elementor-widget-button.ps-chip .elementor-button{height:32px;padding:0 16px;border-radius:9999px;
  border:1px solid #5E7882;background:rgba(255,255,255,.6);color:#001720;font:700 13px/1 var(--font-text)}
.elementor-widget-button.ps-chip .elementor-button:hover{background:#fff}

/* ---------- 4 · caixa do diagnóstico ---------- */
.ps-ck{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);flex:none}
.ps-ck .elementor-icon{color:#001720;font-size:14px;line-height:1}
.ps-ck svg{width:14px;height:14px;fill:none;stroke:#001720;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ps-glow{position:relative;overflow:hidden}
.ps-glow::after{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;
  background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);opacity:.18;filter:blur(18px);pointer-events:none}
.ps-glow>*{position:relative;z-index:1}

/* ---------- 5 · índice do dossiê (widget HTML indice.html) ---------- */
.ps-idx{position:sticky;top:112px;align-self:start}
.ps-idx .lbl{display:block;font:700 11px/16px var(--font-text);letter-spacing:.12em;text-transform:uppercase;color:#41606C;margin-bottom:12px}
.ps-idx ol{list-style:none;margin:0 0 24px;padding:0;counter-reset:psidx}
.ps-idx ol a{display:grid;grid-template-columns:26px 1fr;align-items:baseline;gap:6px;padding:10px 0;
  border-top:1px solid #DCE8E6;font:700 14px/20px var(--font-text);color:#41606C;text-decoration:none;transition:color .2s}
.ps-idx ol a::before{counter-increment:psidx;content:counter(psidx,decimal-leading-zero);
  font:700 11px/20px var(--font-text);letter-spacing:.06em;color:#5E7882;transition:color .2s}
.ps-idx ol a:hover,.ps-idx ol a[aria-current]{color:#001720}
.ps-idx ol a[aria-current]::before{background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.ps-idx .nota{margin:12px 0 0;font:400 12px/18px var(--font-text);color:#41606C;text-align:center}

/* ---------- 6 · ícone em contorno (widget Ícone, visual Moldura) ---------- */
.ps-ico .elementor-icon{border-color:#5E7882;color:#001720;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .25s,border-color .25s}
.e-con:hover>.ps-ico .elementor-icon,.e-con:hover .ps-ico .elementor-icon{background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%);border-color:transparent;transform:rotate(-8deg) scale(1.06)}

/* ---------- 7 · número 01–05 em gradiente ---------- */
.ps-num .elementor-heading-title{background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}

/* ---------- 8 · painel escuro "o que medimos" ---------- */
.ps-metric .elementor-icon{border-color:#2B5361;color:#19EFC7}
.ps-opt{display:inline-flex;align-items:center;height:16px;padding:0 8px;margin-left:6px;border:1px solid #2B5361;
  border-radius:9999px;font:700 10px/16px var(--font-text);letter-spacing:.08em;text-transform:uppercase;color:#8FADB6;white-space:nowrap;vertical-align:1px}

/* ---------- 9 · cartão de outro segmento ---------- */
.ps-sw .elementor-button{justify-content:space-between;width:100%;height:auto;padding:22px 24px;border-radius:16px;
  background:#fff;border:1px solid #DCE8E6;color:#001720;font:700 16px/22px var(--font-text);
  transition:box-shadow .2s,transform .2s,border-color .2s}
.ps-sw .elementor-button:hover{box-shadow:0 12px 32px rgba(0,23,32,.12);transform:translateY(-2px);border-color:#19EFC7;background:#fff}
.ps-sw .elementor-button-icon svg{width:20px;height:20px;transition:transform .2s}
.ps-sw .elementor-button:hover .elementor-button-icon svg{transform:translateX(4px)}

/* ---------- 10 · seção do dossiê: âncora abaixo do menu fixo ---------- */
.ps-dsec{scroll-margin-top:112px}

/* ---------- 11 · responsivo do índice ---------- */
@media (max-width:1199px){
  .ps-idx{position:sticky;top:88px;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);
    border-bottom:1px solid #DCE8E6;margin:0 -24px}
  .ps-idx .lbl,.ps-idx .nota,.ps-idx .ps-btn,.ps-idx .elementor-button{display:none}
  .ps-idx ol{display:flex;gap:0;margin:0;padding:0 24px;max-width:100%;overflow-x:auto;scrollbar-width:none}
  .ps-idx ol::-webkit-scrollbar{display:none}
  .ps-idx li{flex:none}
  .ps-idx ol a{display:block;border-top:0;border-bottom:3px solid transparent;padding:14px 16px;white-space:nowrap}
  .ps-idx ol a::before{display:none}
  .ps-idx ol a[aria-current]{border-bottom-color:#67ED3F}
}
@media (max-width:699px){
  .ps-idx{margin:0 -20px}
  .ps-idx ol{padding:0 20px}
}
@media (prefers-reduced-motion:reduce){
  .ps-herobg .aur,.ps-ico .elementor-icon{animation:none!important;transition:none!important}
}

/* ============================================================
   12 · CSS dos widgets HTML (escopado em .ps-html)
   ============================================================ */

/* ---------- relatório ilustrativo (relatorio.html) ---------- */
.ps-html .rep{background:rgba(255,255,255,.04);border:1px solid #1B3E4C;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:20px}
.ps-html .rep__top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ps-html .rep__top b{font:700 18px/24px var(--font-display);color:#fff}
.ps-html .rep__tag{display:inline-flex;align-items:center;height:28px;padding:0 16px;border:1px solid #2B5361;border-radius:9999px;
  font:700 10px/1 var(--font-text);letter-spacing:.1em;text-transform:uppercase;color:#8FADB6}
.ps-html .rep__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ps-html .rep__kpi{background:rgba(255,255,255,.05);border-radius:16px;padding:12px 10px;text-align:center}
.ps-html .rep__kpi strong{display:block;font:700 23px/28px var(--font-display);letter-spacing:-.02em;color:#fff;white-space:nowrap}
.ps-html .rep__kpi span{display:block;font:400 11px/15px var(--font-text);color:#8FADB6}
.ps-html .rep__bars{display:flex;align-items:flex-end;gap:8px;height:92px;border-bottom:1px solid #2B5361}
.ps-html .rep__bar{flex:1;height:calc(var(--h)*1%);border-radius:6px 6px 3px 3px;background:#123A48;transform-origin:50% 100%}
.ps-html .rep__bar.is-hi{background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .rep small{font:400 12px/18px var(--font-text);color:#8FADB6}
@supports (animation-timeline: view()){
  .ps-html .rep__bar{animation:psgrow linear both;animation-timeline:view();animation-range:entry 20% cover 35%}
}
@keyframes psgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* ---------- formulário (formulario.html) ---------- */
.ps-html .sf{display:flex;flex-direction:column;gap:16px}
.ps-html .sf__hint{margin:0;font:400 12px/18px var(--font-text);color:#41606C}
.ps-html .sf__field{display:flex;flex-direction:column;gap:8px}
.ps-html .sf__label{font:700 14px/20px var(--font-text);color:#001720}
.ps-html .sf__input{width:100%;height:52px;padding:0 16px;border:2px solid #5E7882;border-radius:16px;background:#fff;color:#001720;
  font:400 16px/24px var(--font-text);transition:box-shadow .2s,border-color .2s}
.ps-html .sf__input::placeholder{color:#41606C;opacity:1}
.ps-html .sf__input:focus{border-color:#001720;box-shadow:0 0 0 4px rgba(25,239,199,.45);outline:none}
.ps-html .sf__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 .sf__set{border:0;padding:0;margin:0}
.ps-html .sf__set legend{padding:0;margin-bottom:8px}
.ps-html .sf__canais{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}
.ps-html .sf__check{display:flex;gap:12px;align-items:flex-start;font:400 14px/22px var(--font-text);color:#001720}
.ps-html .sf__check input{width:22px;height:22px;margin:0;accent-color:#001720;flex:none}
.ps-html .sf__row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ps-html .sf__ok{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.ps-html .sf__ok[hidden]{display:none}
.ps-html .sf__okic{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#67ED3F 0%,#19EFC7 100%)}
.ps-html .sf__okic svg{width:36px;height:36px;fill:none;stroke:#001720;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.ps-html .sf__ok h3{font:700 32px/38px var(--font-display);letter-spacing:-.01em;color:#001720}
.ps-html .sf__ok p{font:400 16px/26px var(--font-text);color:#41606C;max-width:46ch}
@media (max-width:699px){
  .ps-html .sf__canais,.ps-html .sf__row{grid-template-columns:1fr}
}

/* ---------- FAQ (faq.html) ---------- */
.ps-html details.fq{background:#fff;border:1px solid #DCE8E6;border-radius:16px;margin-bottom:8px;transition:box-shadow .2s}
.ps-html details.fq:hover{box-shadow:0 1px 2px rgba(0,23,32,.10),0 1px 1px rgba(0,23,32,.06)}
.ps-html details.fq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:18px 24px;font:700 16px/24px var(--font-text);color:#001720;border-radius:16px}
.ps-html details.fq summary::-webkit-details-marker{display:none}
.ps-html details.fq summary::after{content:"+";flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;
  background:#F0F6F5;border:2px solid #5E7882;font:700 18px/1 var(--font-text);transition:transform .3s}
.ps-html details.fq[open] summary::after{content:"\2212";background:linear-gradient(90deg,#67ED3F 0%,#19EFC7 100%);border-color:transparent;transform:rotate(180deg)}
.ps-html details.fq summary:focus-visible{outline:3px solid #001720;outline-offset:3px}
.ps-html details.fq p{margin:0;padding:0 24px 22px;font:400 15px/25px var(--font-text);color:#41606C;max-width:70ch}
.ps-html details.fq[open] p{animation:psfd .35s ease both}
@keyframes psfd{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
