/* Mentoria VPM · funil (aplicar, obrigado, bio). Carrega depois do vpm.css: mesmos tokens, fontes, topo, botões e rodapé. */

.funil{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:100svh;background:var(--g-profundidade);color:var(--texto-claro)}
.funil::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(70% 55% at 85% 0%,rgba(231,201,162,.12) 0%,rgba(231,201,162,0) 60%),radial-gradient(60% 50% at 0% 100%,rgba(64,144,168,.16) 0%,rgba(64,144,168,0) 65%);pointer-events:none}
.funil::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--grao);background-size:240px;opacity:.3;mix-blend-mode:soft-light;pointer-events:none}
.funil__corpo{flex:1;padding-block:calc(76px + clamp(2rem,1.3rem + 3vw,4rem)) var(--secao)}
.funil .rodape{padding-bottom:4rem}
.topo--funil .topo__barra{padding-right:22px}
.funil :focus-visible{outline-color:var(--bege)}
.funil .papel :focus-visible{outline-color:var(--terra-2)}
:root{--erro:#A8402B;--erro-fundo:#FBECE7}

/* ---------- aplicar ---------- */
.aplicar{display:grid;gap:clamp(2rem,1.5rem + 2vw,3rem)}
.aplicar__lado .rotulo{color:var(--bege)}
.aplicar__titulo{margin-top:1rem}
.aplicar__titulo .t-forte{font-size:var(--t5);color:var(--bege)}
.aplicar__titulo .t-fino{font-size:var(--t3);color:var(--claro)}
.aplicar__intro{display:grid;gap:1rem;margin-top:1.5rem;max-width:46ch}
.aplicar__intro p{font-size:var(--t0);font-weight:300;line-height:1.6;color:var(--texto-claro)}
.aplicar__intro p:first-child{font-size:var(--t1);line-height:1.5;color:var(--claro)}
.passos-lado{display:none}
@media (min-width:1024px){
  .aplicar{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:calc(var(--gutter) * 3);align-items:start}
  .aplicar__lado{position:sticky;top:calc(76px + 2.5rem)}
  .passos-lado{position:relative;display:grid;gap:0;margin-top:2.5rem;max-width:22rem}
  .passos-lado::before{content:"";position:absolute;left:17px;top:18px;bottom:18px;width:1px;background:var(--linha-clara)}
  .passos-lado li{position:relative;display:flex;align-items:center;gap:1rem;min-height:56px;font-size:.9375rem;color:var(--suave-claro);transition:color .3s var(--ease-s)}
  .passos-lado b{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--linha-clara);border-radius:50%;background:var(--noite);font-size:.8125rem;font-weight:600;color:inherit;transition:background-color .3s var(--ease-s),border-color .3s var(--ease-s),color .3s var(--ease-s)}
  .passos-lado li[aria-current="step"]{color:var(--claro)}
  .passos-lado li[aria-current="step"] b{background:var(--bege);border-color:var(--bege);color:var(--tinta)}
  .passos-lado li.feito b{background:var(--pet);border-color:var(--pet);color:var(--claro)}
}

.papel{position:relative;color:var(--texto);background:var(--papel);border:1px solid rgba(217,203,184,.8);border-radius:var(--raio-c);box-shadow:0 60px 100px -60px rgba(0,0,0,.75),0 2px 0 rgba(23,28,29,.03)}
.form-card{padding:clamp(1.4rem,.9rem + 2.4vw,3rem)}
.form-progresso{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.form-progresso i{display:block;height:4px;border-radius:4px;background:var(--areia-3);overflow:hidden}
.form-progresso i::after{content:"";display:block;height:100%;background:var(--pet);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.form-progresso i.feito::after,.form-progresso i.atual::after{transform:scaleX(1)}
.form-progresso i.atual::after{background:var(--azul)}
.etapa-form{display:none}
.etapa-form.ativa{display:block;animation:etapa-entra .5s var(--ease) both}
.etapa-form.volta{animation-name:etapa-volta}
@keyframes etapa-entra{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}
@keyframes etapa-volta{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.etapa-form__titulo{margin-top:1.4rem;outline:none}
.etapa-form__titulo .rotulo{display:block;color:var(--terra-2)}
.etapa-form__titulo strong{display:block;margin-top:.4rem;font-size:var(--t3);font-weight:900;line-height:1;letter-spacing:-.012em;text-transform:uppercase;color:var(--tinta)}
.etapa-form__campos{display:grid;gap:1.75rem;margin-top:1.75rem}

.campo{display:grid;gap:.5rem;min-width:0}
.campo__rotulo{font-size:1.0625rem;font-weight:600;line-height:1.35;color:var(--tinta)}
.campo__ajuda{margin-top:-.15rem;font-size:.875rem;line-height:1.45;color:var(--suave)}
.entrada{width:100%;min-height:56px;padding:0 1rem;border:1.5px solid var(--areia-3);border-radius:14px;background:#fff;font:inherit;font-size:1rem;letter-spacing:.005em;color:var(--tinta);transition:border-color .18s var(--ease-s),box-shadow .18s var(--ease-s)}
.entrada::placeholder{color:#9A948B}
.entrada:focus{outline:none;border-color:var(--pet);box-shadow:0 0 0 4px rgba(38,86,101,.14)}
.campo--erro .entrada{border-color:var(--erro);box-shadow:0 0 0 4px rgba(168,64,43,.1)}
.campo__erro{display:flex;align-items:flex-start;gap:.45rem;font-size:.9375rem;font-weight:600;line-height:1.4;color:var(--erro);animation:aparece .3s var(--ease) both}
.campo__erro[hidden]{display:none}
.campo__erro svg{flex:none;width:18px;height:18px;margin-top:1px}
@keyframes aparece{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:none}}

.opcoes{display:grid;gap:.5rem;margin-top:.25rem}
@media (min-width:600px){.opcoes--duas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.opcao{position:relative;display:flex;align-items:center;gap:.85rem;min-height:56px;padding:.8rem 1rem;border:1.5px solid var(--areia-3);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s var(--ease-s),background-color .18s var(--ease-s),box-shadow .18s var(--ease-s)}
.opcao:hover{border-color:var(--bege)}
.opcao input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
.opcao__marca{position:relative;display:grid;place-items:center;flex:none;width:22px;height:22px;border:1.5px solid #8F8A82;border-radius:50%;background:#fff;transition:background-color .18s var(--ease-s),border-color .18s var(--ease-s)}
.opcao__marca::after{content:"";width:8px;height:8px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .22s var(--ease)}
.opcao--caixa .opcao__marca{border-radius:6px}
.opcao--caixa .opcao__marca::after{width:10px;height:6px;margin-top:-2px;border-radius:0;background:none;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0)}
.opcao__texto{font-size:.96875rem;line-height:1.38;color:var(--tinta)}
.opcao:has(input:checked){border-color:var(--pet);background:#EEF4F5;box-shadow:inset 0 0 0 1px var(--pet)}
.opcao:has(input:checked) .opcao__marca{border-color:var(--pet);background:var(--pet)}
.opcao:has(input:checked) .opcao__marca::after{transform:scale(1)}
.opcao--caixa:has(input:checked) .opcao__marca::after{transform:rotate(-45deg) scale(1)}
.opcao:has(input:focus-visible){outline:2px solid var(--terra-2);outline-offset:2px}
.campo--erro .opcao{border-color:rgba(168,64,43,.45)}
.campo__outro{margin-top:.5rem}
.campo__outro[hidden]{display:none}

.aceite{position:relative;display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border:1.5px solid var(--areia-3);border-radius:14px;background:#fff;cursor:pointer}
.aceite input{position:absolute;left:1rem;top:1rem;width:22px;height:22px;margin:0;opacity:0;cursor:pointer}
.aceite .opcao__marca{margin-top:1px;border-radius:6px}
.aceite .opcao__marca::after{width:10px;height:6px;margin-top:-2px;border-radius:0;background:none;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0)}
.aceite:has(input:checked) .opcao__marca{border-color:var(--pet);background:var(--pet)}
.aceite:has(input:checked) .opcao__marca::after{transform:rotate(-45deg) scale(1)}
.aceite:has(input:focus-visible){outline:2px solid var(--terra-2);outline-offset:2px}
.aceite span:last-child{font-size:.9375rem;line-height:1.5;color:var(--texto)}
.aceite a{position:relative;z-index:1;color:var(--tinta);font-weight:600;text-underline-offset:3px}

.resumo{margin-top:1.4rem;padding:1rem 1.15rem;border-left:3px solid var(--erro);border-radius:0 12px 12px 0;background:var(--erro-fundo);color:var(--tinta);font-size:.9375rem;line-height:1.5;outline:none}
.resumo[hidden]{display:none}
.resumo ul{margin-top:.5rem;display:grid;gap:.25rem}
.resumo a{color:var(--erro);font-weight:600;text-underline-offset:3px}

.form-acoes{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid var(--linha)}
.form-acoes .botao{margin-left:auto}
.form-acoes .botao[disabled]{opacity:.7;cursor:progress}
.botao-voltar{flex:none;display:inline-flex;align-items:center;gap:.55rem;min-height:48px;padding:0 1.15rem 0 .95rem;border:1px solid var(--linha);border-radius:999px;background:none;font-size:.9375rem;font-weight:600;color:var(--tinta);cursor:pointer;transition:background-color .2s var(--ease-s),color .2s var(--ease-s)}
.botao-voltar svg{flex:none;width:18px;height:10px}
.botao-voltar:hover{background:var(--tinta);color:var(--areia)}
.botao-voltar[hidden]{display:none}
.isca{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.enviando .botao__seta svg{animation:empurra 1s var(--ease-io) infinite}
@keyframes empurra{50%{transform:translateX(5px)}}
@media (max-width:479px){.form-acoes{flex-wrap:wrap-reverse;gap:.85rem}.form-acoes .botao{flex:1 1 100%;justify-content:space-between}}

/* telefone-input.js no papel (o script injeta o próprio CSS escuro; aqui a mesma peça no tom da página) */
.papel .tel-row{min-height:56px;border:1.5px solid var(--areia-3);border-radius:14px;background:#fff}
.papel .tel-row:focus-within{border-color:var(--pet);box-shadow:0 0 0 4px rgba(38,86,101,.14);background:#fff}
.papel .tel-row.tel-invalid,.campo--erro .tel-row{border-color:var(--erro);box-shadow:0 0 0 4px rgba(168,64,43,.1)}
.papel .tel-cc{min-width:5.75rem;color:var(--tinta);border-right:1px solid var(--areia-3);font-size:.9375rem;font-weight:600}
.papel .tel-num{color:var(--tinta);font-size:1rem;font-weight:400;letter-spacing:.01em;padding:0 1rem}
.papel .tel-num::placeholder{color:#9A948B;font-weight:400}
.papel .tel-drop{border:1px solid var(--areia-3);background:#fff;box-shadow:0 30px 60px -24px rgba(23,28,29,.45)}
.papel .tel-search{background:#fff;color:var(--tinta);border-bottom:1px solid var(--areia-2);font-size:1rem}
.papel .tel-opt{min-height:44px;color:var(--tinta)}
.papel .tel-opt:hover,.papel .tel-opt.tel-on{background:#EEF4F5}
.papel .tel-opt .tel-dial{color:var(--pet)}

/* ---------- obrigado ---------- */
.obrigado{max-width:46rem;margin-inline:auto}
.obrigado__topo{display:flex;align-items:center;gap:1rem}
.selo-ok{flex:none;width:56px;height:56px}
.selo-ok circle{fill:none;stroke:var(--bege);stroke-width:1.5;stroke-dasharray:157;stroke-dashoffset:157;animation:traca 1s .15s var(--ease) forwards}
.selo-ok path{fill:none;stroke:var(--bege);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30;animation:traca .5s .9s var(--ease) forwards}
@keyframes traca{to{stroke-dashoffset:0}}
.obrigado__progresso{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.obrigado__progresso i{display:block;height:4px;border-radius:4px;background:var(--pet);overflow:hidden}
.obrigado__progresso i:last-child{background:var(--linha-clara)}
.obrigado__progresso i:last-child::after{content:"";display:block;height:100%;background:var(--bege);transform:scaleX(0);transform-origin:left;animation:enche .9s .25s var(--ease) forwards}
@keyframes enche{to{transform:scaleX(1)}}
.obrigado .rotulo{margin-top:2.25rem;color:var(--bege)}
.obrigado__titulo{margin-top:.9rem}
.obrigado__titulo .t-fino{margin-top:0;font-size:var(--t4);color:var(--claro)}
.obrigado__titulo .t-forte{margin-top:.18em;font-size:var(--t5);color:var(--bege)}
.obrigado__lead{margin-top:1.4rem;font-size:var(--t1);font-weight:300;line-height:1.5;color:var(--texto-claro)}
.obrigado__proximo{margin-top:var(--bloco);padding:clamp(1.4rem,1rem + 2vw,2.5rem)}
.obrigado__proximo h2,.obrigado__bloco h2{font-size:var(--t2);font-weight:900;line-height:1.1;letter-spacing:-.008em;text-transform:uppercase}
.obrigado__proximo h2{color:var(--tinta)}
.obrigado__proximo p{margin-top:.85rem;font-size:var(--t0);line-height:1.62;color:var(--texto)}
.obrigado__proximo .barra-id{width:min(100%,9rem);height:5px;margin-bottom:1.25rem}
.obrigado__bloco{margin-top:var(--bloco)}
.obrigado__bloco h2{color:var(--claro)}
.obrigado__bloco>p{margin-top:.75rem;font-size:var(--t0);line-height:1.6;color:var(--texto-claro)}
.pontos{display:grid;gap:.75rem;margin-top:1.4rem}
@media (min-width:700px){.pontos{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ponto{display:flex;align-items:flex-start;gap:1rem;padding:1.1rem 1.15rem;border:1px solid var(--linha-clara);border-radius:18px;background:rgba(15,20,22,.35)}
.ponto__icone{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:12px;background:rgba(216,196,168,.12);color:var(--bege)}
.ponto__icone svg{width:22px;height:22px}
.ponto p{font-size:.96875rem;line-height:1.5;color:var(--claro)}
.obrigado__bloco .botao{margin-top:1.5rem}
.obrigado [data-sobe]{animation:sobe .8s var(--ease) both}
.obrigado [data-sobe="2"]{animation-delay:.12s}.obrigado [data-sobe="3"]{animation-delay:.24s}.obrigado [data-sobe="4"]{animation-delay:.36s}

/* ---------- bio ---------- */
.funil--bio .funil__corpo{padding-top:0;padding-bottom:3.5rem}
/* Bio com a mesma textura da primeira dobra da LP: fundo fluido (WebGL, paleta hero) + véu + grão */
.funil--bio{background:radial-gradient(120% 90% at 18% 30%,#173540 0%,#0F1416 62%)}
.funil--bio::before,.funil--bio::after{display:none}
.funil--bio .funil__corpo{position:relative;isolation:isolate}
.bio__veu{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(11,16,18,.6) 0%,rgba(11,16,18,.25) 55%,rgba(11,16,18,.05) 100%),linear-gradient(0deg,rgba(11,16,18,.55) 0%,rgba(11,16,18,0) 32%);pointer-events:none}
.bio{width:min(30rem,100%);margin-inline:auto}
.bio__foto{position:relative;margin:0;aspect-ratio:16/9;max-height:27svh;overflow:hidden;-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%);mask-image:linear-gradient(180deg,#000 55%,transparent 100%)}
.bio__foto img{width:100%;height:100%;object-fit:cover;object-position:52% 24%}
@media (min-width:480px){.bio__foto{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent 100%),linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(180deg,#000 55%,transparent 100%),linear-gradient(90deg,transparent 0,#000 14%,#000 86%,transparent 100%);mask-composite:intersect}}
.bio__conteudo{position:relative;z-index:1;margin-top:-2.25rem;padding-inline:var(--margem)}
.bio .assinatura{color:var(--bege)}
.bio__nome{margin-top:.75rem;font-size:var(--t4);font-weight:900;line-height:.95;letter-spacing:-.012em;text-transform:uppercase;color:var(--claro)}
.bio__especialidade{margin-top:.5rem;font-size:var(--t1);font-weight:300;color:var(--bege)}
.bio__frase{margin-top:1.1rem}
.bio__frase .fino{display:block;font-size:var(--t2);font-weight:300;line-height:1.2;color:var(--claro)}
.bio__frase .forte{display:block;margin-top:.15em;font-size:var(--t2);font-weight:900;line-height:1.12;letter-spacing:-.006em;color:var(--bege)}
.bio__chamada{margin-top:1rem;font-size:var(--t0);color:var(--texto-claro)}
.rotas{display:grid;gap:.65rem;margin-top:.85rem}
.rota{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1rem;align-items:center;padding:1rem 1rem 1.05rem 1.15rem;border-radius:22px;text-decoration:none;transition:transform .16s var(--ease-s),background-color .2s var(--ease-s),border-color .2s var(--ease-s)}
.rota:active{transform:translateY(1px)}
.rota__quem{grid-column:1;font-size:.6875rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.rota__acao{grid-column:1;font-size:1.125rem;font-weight:900;line-height:1.2}
.rota__texto{grid-column:1;font-size:.875rem;line-height:1.45}
.rota__seta{grid-column:2;grid-row:1/4;display:grid;place-items:center;width:46px;height:46px;border:1px solid currentColor;border-radius:50%}
.rota__seta svg{width:20px;height:20px;transition:transform .32s var(--ease)}
.rota:hover .rota__seta svg{transform:translateX(3px)}
.rota--paciente{border:1px solid var(--linha-clara);background:rgba(250,246,240,.05);color:var(--claro)}
.rota--paciente:hover{background:rgba(250,246,240,.1);border-color:rgba(216,196,168,.45)}
.rota--paciente .rota__quem{color:var(--bege)}
.rota--paciente .rota__texto{color:var(--texto-claro)}
.rota--paciente[aria-disabled="true"]{cursor:default}
.rota--paciente[aria-disabled="true"] .rota__seta{opacity:.45}
.rota--medico{background:var(--bege);color:var(--tinta);box-shadow:0 30px 60px -34px rgba(0,0,0,.85)}
.rota--medico:hover{background:var(--luz)}
.rota--medico .rota__quem{color:var(--terra-2)}
.rota--medico .rota__texto{color:#3E3A35}
@property --giro{syntax:"<angle>";inherits:false;initial-value:0deg}
.rota--medico::before{content:"";position:absolute;inset:-2px;z-index:-1;padding:2px;border-radius:24px;background:conic-gradient(from var(--giro),rgba(255,248,236,0) 0deg,rgba(255,248,236,0) 250deg,rgba(255,248,236,.95) 312deg,rgba(255,248,236,0) 360deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:giro-luz 3.6s linear infinite;pointer-events:none}
@keyframes giro-luz{to{--giro:360deg}}
.funil--bio .rodape .assinatura{display:none}

/* ---------- movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  .etapa-form.ativa,.campo__erro,.obrigado [data-sobe]{animation:none}
  .selo-ok circle,.selo-ok path{animation:none;stroke-dashoffset:0}
  .obrigado__progresso i:last-child::after{animation:none;transform:none}
  .rota--medico::before{animation:none;--giro:300deg}
  .form-progresso i::after{transition:none}
}
