/* Start custom CSS *//* Case · Psicólogo Diego — movimento e ajustes (mesmo padrão da página de Cases; seletores pelos IDs CSS dos elementos) */
@keyframes dgSurge{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@keyframes dgSurgeT{from{transform:translateY(24px)}to{transform:none}}
@keyframes dgFade{from{opacity:0}to{opacity:1}}
@keyframes dgSobe{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes dgCard{from{opacity:0;transform:translateY(60px) scale(.95)}to{opacity:1;transform:none}}
@keyframes dgGira{to{transform:rotate(360deg)}}
@keyframes dgPop{0%{opacity:0;scale:.6}60%{opacity:1;scale:1.06}100%{opacity:1;scale:1}}
@keyframes dgPulsa{0%,62%,100%{scale:1}74%{scale:1.04}84%{scale:1}}
@keyframes dgRoda{0%{transform:translate(-50%,0);opacity:1}70%{transform:translate(-50%,6px);opacity:0}100%{transform:translate(-50%,0);opacity:0}}

/* ===================== MENU — igual à Home (vidro; depois de rolar 40px encolhe e fica azul — classe rota-rolou no <html>, posta pelo script no fim da página) ===================== */
.elementor-5027 #dg-menu{
  position:fixed!important;top:24px!important;left:50%!important;inset-inline-start:50%!important;transform:translateX(-50%)!important;
  width:min(1210px,calc(100% - 100px))!important;max-width:none!important;height:68px!important;
  padding:0 106px 0 95px!important;box-sizing:border-box!important;border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.30)!important;
  backdrop-filter:blur(18px) saturate(130%)!important;-webkit-backdrop-filter:blur(18px) saturate(130%)!important;
  box-shadow:0 8px 30px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.20)!important;z-index:9999!important;
  transition:width .55s cubic-bezier(.22,.61,.36,1),height .55s cubic-bezier(.22,.61,.36,1),top .55s cubic-bezier(.22,.61,.36,1),padding .55s cubic-bezier(.22,.61,.36,1),background .4s ease,box-shadow .4s ease,border-color .4s ease!important}
.elementor-5027 #dg-menu-direita{gap:130px!important;transition:gap .55s cubic-bezier(.22,.61,.36,1)!important}
.elementor-5027 #dg-menu-links{gap:32px!important}
.elementor-5027 :is(#dg-link-1,#dg-link-2,#dg-link-3){display:inline-block!important;font-size:14px!important;font-weight:500!important;line-height:1.2!important;color:#FFFFFF!important;transition:transform .3s ease-out!important}
.elementor-5027 :is(#dg-link-1,#dg-link-2,#dg-link-3) a{color:#FFFFFF!important}
.elementor-5027 :is(#dg-link-1,#dg-link-2,#dg-link-3):hover{transform:translateY(-8px)!important}
.elementor-5027 #dg-menu-cta{padding:12px 15px!important;gap:19px!important;transition:transform .3s ease-out!important}
.elementor-5027 #dg-menu-cta:hover{transform:translateY(-8px)!important}
.elementor-5027 #dg-menu-cta-icone{width:14px!important;height:14px!important}
.elementor-5027 #dg-menu-cta-icone svg{width:100%!important;height:100%!important;display:block;fill:none!important}
body.admin-bar .elementor-5027 #dg-menu{top:56px!important}
  html.rota-rolou .elementor-5027 #dg-menu{
    width:min(920px,calc(100% - 140px))!important;height:66px!important;top:10px!important;padding:0 27px 0 63px!important;
    background:rgba(36,113,197,.88)!important;border-color:rgba(255,255,255,.25)!important;
    backdrop-filter:blur(20px) saturate(130%)!important;-webkit-backdrop-filter:blur(20px) saturate(130%)!important;
    box-shadow:0 10px 30px rgba(0,30,80,.20),inset 0 1px 0 rgba(255,255,255,.16)!important}
  html.rota-rolou .elementor-5027 #dg-menu-direita{gap:56px!important}
  html.rota-rolou body.admin-bar .elementor-5027 #dg-menu{top:48px!important}
@media (max-width:1024px){
  .elementor-5027 #dg-menu{width:calc(100% - 50px)!important;padding:0 10px 0 28px!important}
   html.rota-rolou .elementor-5027 #dg-menu{width:calc(100% - 80px)!important;padding:0 10px 0 28px!important}
}
/* menu mobile — igual à Home: pílula de vidro, ícone branco, painel verde com itens centralizados */
@media (max-width:767px){
  .elementor-5027 #dg-mmenu{
    position:fixed!important;top:16px!important;left:50%!important;right:auto!important;inset-inline-start:50%!important;inset-inline-end:auto!important;transform:translateX(-50%)!important;
    width:calc(100% - 28px)!important;height:58px!important;padding:6px 27px 6px 24px!important;box-sizing:border-box!important;border-radius:999px!important;
    background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.30)!important;
    backdrop-filter:blur(18px) saturate(130%)!important;-webkit-backdrop-filter:blur(18px) saturate(130%)!important;
    box-shadow:0 8px 30px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.20)!important;z-index:9999!important;
    transition:width .55s cubic-bezier(.22,.61,.36,1),height .55s cubic-bezier(.22,.61,.36,1),top .55s cubic-bezier(.22,.61,.36,1),padding .55s cubic-bezier(.22,.61,.36,1),background .4s ease,box-shadow .4s ease,border-color .4s ease!important}
  body.admin-bar .elementor-5027 #dg-mmenu{top:52px!important}
  .elementor-5027 #dg-mmenu-logo,.elementor-5027 #dg-mmenu-logo img{width:86px!important;height:auto!important}
  .elementor-5027 :is(#dg-mmenu-acc,#dg-mmenu-item){width:25px!important}
  .elementor-5027 #dg-mmenu-botao{position:relative!important;width:25px!important;height:29px!important;background:transparent!important}
  .elementor-5027 #dg-mmenu-titulo{width:25px!important;min-width:25px!important;flex:0 0 25px!important}
  .elementor-5027 #dg-mmenu-slot{display:none!important}
  .elementor-5027 #dg-mmenu-icone{width:25px!important;height:25px!important;color:#FFFFFF!important;fill:#FFFFFF!important;transition:opacity .3s ease}
  .elementor-5027 #dg-mmenu-icone svg,.elementor-5027 #dg-mmenu-icone path{fill:#FFFFFF!important}
  .elementor-5027 #dg-mmenu-botao::before,.elementor-5027 #dg-mmenu-botao::after{content:"";position:absolute;left:50%;top:50%;width:26px;height:3px;border-radius:3px;background:#FFFFFF;opacity:0;transform:translate(-50%,-50%) rotate(45deg);transition:opacity .3s ease}
  .elementor-5027 #dg-mmenu-botao::after{transform:translate(-50%,-50%) rotate(-45deg)}
  .elementor-5027 #dg-mmenu-item[open] #dg-mmenu-icone{opacity:0}
  .elementor-5027 #dg-mmenu-item[open] #dg-mmenu-botao::before,.elementor-5027 #dg-mmenu-item[open] #dg-mmenu-botao::after{opacity:1}
  .elementor-5027 :is(#dg-mlink-1,#dg-mlink-2,#dg-mlink-3) a{color:#111111!important;display:block}
  .elementor-5027 :is(#dg-mlink-1,#dg-mlink-2,#dg-mlink-3):active{background-color:rgba(0,0,0,.06)}
      html.rota-rolou .elementor-5027 #dg-mmenu{width:calc(100% - 36px)!important;height:52px!important;top:10px!important;padding:5px 25px 5px 22px!important;
      background:rgba(36,113,197,.92)!important;border-color:rgba(255,255,255,.25)!important;
      box-shadow:0 10px 30px rgba(0,30,80,.20),inset 0 1px 0 rgba(255,255,255,.16)!important}
    html.rota-rolou body.admin-bar .elementor-5027 #dg-mmenu{top:46px!important}
    html.rota-rolou .elementor-5027 #dg-mmenu-painel{top:60px!important;left:-18px!important;right:-18px!important;inset-inline-start:-18px!important;inset-inline-end:-18px!important}
}

/* ===================== BOTÃO — padrão da Home: degradê verde, 65px, círculo azul que se expande ===================== */
.elementor-5027 a.rc-cta{position:relative!important;padding:25px 66px 25px 35px!important;gap:0!important;border-radius:400px!important;
  background:linear-gradient(90deg,#A8EDCC 0%,#7DE5D4 100%)!important;box-shadow:none!important;translate:none!important;transition:all .5s ease!important}
.elementor-5027 a.rc-cta:hover,.elementor-5027 a.rc-cta:focus-visible{translate:none!important;background:linear-gradient(90deg,#A8EDCC 0%,#7DE5D4 100%)!important;box-shadow:none!important}
.elementor-5027 a.rc-cta .rc-cta-label{font-size:14px!important;font-weight:600!important;line-height:15px!important;color:#111111!important}
.elementor-5027 a.rc-cta .rc-cta-icon{position:absolute!important;right:20px;top:50%;transform:translateY(-50%)!important;margin:0!important;padding:0!important;
  width:32px!important;min-width:32px!important;height:32px!important;border-radius:400px!important;background:#0077FF!important;transition:all .5s ease!important}
.elementor-5027 a.rc-cta .rc-cta-icon > *{display:none!important}
.elementor-5027 a.rc-cta .rc-cta-icon::before{content:"";position:absolute;left:8px;top:8px;width:16px;height:16px;background:#FFFFFF;
  -webkit-mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTYgMTJIMThNMTggMTJMMTMgN00xOCAxMkwxMyAxNyIvPjwvc3ZnPg==") center/contain no-repeat;mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTYgMTJIMThNMTggMTJMMTMgN00xOCAxMkwxMyAxNyIvPjwvc3ZnPg==") center/contain no-repeat}
.elementor-5027 a.rc-cta:hover .rc-cta-icon,.elementor-5027 a.rc-cta:focus-visible .rc-cta-icon{width:calc(100% - 40px)!important}

/* ===================== ESTRUTURA ===================== */
/* overflow:clip recorta igual ao hidden, mas não vira contêiner de rolagem (as entradas com view() acompanham a página) */
.elementor-5027 :is(#dg-pagina,#dg-hero,#dg-leads,#dg-resultado){overflow:clip!important}
.elementor-5027 :is(h1,h2,h3){text-wrap:balance}
.elementor-5027 p{text-wrap:pretty}

/* Dobra 02 — aba curva do Figma (mesma forma do arquivo) encaixando no hero */
.elementor-5027 #dg-aba{top:calc(-4.375vw + 1px)!important;height:4.375vw!important;min-height:16px;background:#E8E8E8;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1962 84' preserveAspectRatio='none'%3E%3Cpath d='M1452.52 0H1962V84H0V82.4754C33.798 83.4046 71.0335 82.6392 105.019 82.6409L305.318 82.6431L907.867 82.6353L1179.84 82.6181L1254.25 82.7234C1297.33 82.791 1292.26 85.1567 1329.91 64.3344L1397.41 27.2171C1409.41 20.6122 1439.17 2.9285 1451.22 0.27958L1452.52 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1962 84' preserveAspectRatio='none'%3E%3Cpath d='M1452.52 0H1962V84H0V82.4754C33.798 83.4046 71.0335 82.6392 105.019 82.6409L305.318 82.6431L907.867 82.6353L1179.84 82.6181L1254.25 82.7234C1297.33 82.791 1292.26 85.1567 1329.91 64.3344L1397.41 27.2171C1409.41 20.6122 1439.17 2.9285 1451.22 0.27958L1452.52 0Z'/%3E%3C/svg%3E") 0 0/100% 100% no-repeat}

@keyframes dgFlutua{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes dgFlutuaFoto{0%,100%{translate:0 0}50%{translate:0 -8px}}
@keyframes dgSelo{from{opacity:0;scale:.85;filter:blur(4px)}to{opacity:1;scale:1;filter:none}}
@keyframes dgDesenha{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes dgPonto{from{opacity:0;scale:0}to{opacity:1;scale:1}}
@keyframes dgEtapa{from{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}

/* Dobra 02 — selos do notebook flutuando, fora de fase */
.elementor-5027 #dg-note-img img,.elementor-5027 #dg-note-img{display:block}
.elementor-5027 :is(#dg-selo-1,#dg-selo-2){animation:dgFlutua 5s ease-in-out infinite}
.elementor-5027 #dg-selo-2{animation-delay:-2.5s}

/* Dobra 03 — gráfico: a linha se desenha com o scroll, depois entram os pontos e as etapas */
.elementor-5027 #dg-graf-svg svg{width:100%;height:100%;display:block;overflow:visible}
.elementor-5027 #dg-graf-svg :is(circle,path,line){transform-box:fill-box;transform-origin:center}
.elementor-5027 #dg-mouse-roda{animation:dgRoda 2.2s cubic-bezier(.45,0,.55,1) infinite}
.elementor-5027 #dg-etapa-3-texto{font-weight:700}

/* Dobra 04 — foto do Diego flutuando */
.elementor-5027 #dg-res-foto,.elementor-5027 #dg-res-foto img{display:block}
.elementor-5027 #dg-res-foto{animation:dgFlutuaFoto 6s ease-in-out infinite;box-shadow:0 30px 60px -20px rgba(0,30,122,.25)}

/* Dobra 05 — card em degradê com borda azul, selo girando e botão pulsando (como no protótipo) */
.elementor-5027 #dg-conc-card{border:4px solid #003FE8!important;background:linear-gradient(90deg,#003FE8 9%,#0062E8 28.4%,#0084E8 45.3%,#00B9CC 61.3%,#00F48E 86.5%)!important}
.elementor-5027 #dg-selo-texto{animation:dgGira 12s linear infinite;will-change:transform}
.elementor-5027 :is(#dg-hero-cta,#dg-conc-cta){animation:dgPulsa 4s ease-in-out 2s infinite}
.elementor-5027 :is(#dg-hero-cta,#dg-conc-cta):hover{animation-play-state:paused}

/* ===================== ENTRADAS (carregamento do hero + ligadas ao scroll) ===================== */
.elementor-5027 #dg-hero-tag{animation:dgSurge .8s cubic-bezier(.2,.8,.25,1) .1s both}
.elementor-5027 #dg-hero-h1{animation:dgSurgeT .8s cubic-bezier(.2,.8,.25,1) .25s both}
.elementor-5027 #dg-hero-sub{animation:dgSurge .8s cubic-bezier(.2,.8,.25,1) .4s both}
.elementor-5027 #dg-hero-cta{animation:dgSurge .8s cubic-bezier(.2,.8,.25,1) .55s both,dgPulsa 4s ease-in-out 3s infinite}
@supports (animation-timeline: view()){
  .elementor-5027 :is(#dg-desafio-tag,#dg-leads-tag,#dg-res-tag){animation:dgSobe linear both;animation-timeline:view();animation-range:entry 0% entry 55%}
  .elementor-5027 :is(#dg-desafio-h2,#dg-leads-h2,#dg-res-h2,#dg-conc-h2){animation:dgSobe linear both;animation-timeline:view();animation-range:entry 5% entry 65%}
  .elementor-5027 :is(#dg-desafio-p,#dg-leads-p,#dg-res-p,#dg-conc-p,#dg-painel-texto){animation:dgSobe linear both;animation-timeline:view();animation-range:entry 12% entry 75%}
  .elementor-5027 #dg-note{animation:dgCard linear both;animation-timeline:view();animation-range:entry 0% entry 70%}
  .elementor-5027 :is(#dg-selo-1,#dg-selo-2){animation:dgSelo linear both,dgFlutua 5s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 40% entry 100%,normal}
  .elementor-5027 #dg-selo-2{animation-range:entry 60% cover 30%,normal;animation-delay:0s,-2.5s}
  .elementor-5027 #dg-painel{animation:dgCard linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  .elementor-5027 #dg-res-foto{animation:dgCard linear both,dgFlutuaFoto 6s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 0% entry 65%,normal}
  .elementor-5027 #dg-conc-card{animation:dgCard linear both;animation-timeline:view();animation-range:entry 0% entry 45%}
  .elementor-5027 #dg-selo{animation:dgPop linear both;animation-timeline:view();animation-range:entry 10% entry 90%}
  .elementor-5027 #dg-rodape{animation:dgFade linear both;animation-timeline:view();animation-range:entry 0% entry 80%}
}

/* Dobra 03 — gráfico anima sozinho quando aparece na tela: linha se desenha, depois pontos e etapas (classe dg-ok posta pelo script) */
.elementor-5027 #dg-graf-svg .dg-curva{stroke-dasharray:1 1}
html.dg-anima .elementor-5027 #dg-grafico:not(.dg-ok) .dg-curva{stroke-dashoffset:1}
html.dg-anima .elementor-5027 #dg-grafico:not(.dg-ok) :is(.dg-linha,.dg-p1,.dg-p2,.dg-p3,#dg-graf-media,#dg-graf-inicio,#dg-etapa-1,#dg-etapa-2,#dg-etapa-3){opacity:0}
.elementor-5027 #dg-grafico.dg-ok .dg-linha{animation:dgFade .5s ease-out .1s both}
.elementor-5027 #dg-grafico.dg-ok :is(#dg-graf-media,#dg-graf-inicio){animation:dgFade .5s ease-out .3s both}
.elementor-5027 #dg-grafico.dg-ok .dg-curva{animation:dgDesenha 2.2s cubic-bezier(.45,0,.25,1) .3s both}
.elementor-5027 #dg-grafico.dg-ok .dg-p1{animation:dgPonto .35s ease-out 1.4s both}
.elementor-5027 #dg-grafico.dg-ok .dg-p2{animation:dgPonto .35s ease-out 1.9s both}
.elementor-5027 #dg-grafico.dg-ok .dg-p3{animation:dgPonto .35s ease-out 2.5s both}
.elementor-5027 #dg-grafico.dg-ok #dg-etapa-1{animation:dgEtapa .45s ease-out 1.5s both}
.elementor-5027 #dg-grafico.dg-ok #dg-etapa-2{animation:dgEtapa .45s ease-out 2s both}
.elementor-5027 #dg-grafico.dg-ok #dg-etapa-3{animation:dgEtapa .45s ease-out 2.6s both}

/* etiquetas sem palavra viúva */
.elementor-5027 [id$="-tag"]{text-wrap:balance}
/* celular: o card final usa um degradê mais azul (o verde forte deixava o texto branco ilegível) */
@media (max-width:767px){
  .elementor-5027 #dg-conc-card{background:linear-gradient(165deg,#003FE8 0%,#0058E8 38%,#0080E8 68%,#00AED6 100%)!important}
}
@media (prefers-reduced-motion:reduce){
  .elementor-5027 *,.elementor-5027 *::before,.elementor-5027 *::after{animation:none!important;transition:none!important}
}/* End custom CSS */