/* ============================================================
   FORMULÁRIOS (23/10/2026) — identidade Gloda: Rethink Sans, branco, cinza #f5f5f7, preto #17191c,
   azul #015aff, degradê de seis cores na luz do topo e na barra de progresso.
   Entrada: fundo desfoca, o painel sobe e assenta (mesma curva .22,1,.36,1 do site), a luz do topo
   corre em loop (como o .gloop), e os campos entram em cascata. Celular: folha que sobe da base.
   ============================================================ */
html.fm-trava{overflow:hidden;}
dialog.fm,dialog.fm *,dialog.fm *::before,dialog.fm *::after{box-sizing:border-box;}
dialog.fm{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:24px;border:0;background:transparent;
  display:none;align-items:center;justify-content:center;font-family:"Rethink Sans",Arial,sans-serif;color:#17191c;overflow-y:auto;overscroll-behavior:contain;}
dialog.fm[open]{display:flex;}
dialog.fm::backdrop{background:rgba(9,13,22,.42);-webkit-backdrop-filter:blur(10px) saturate(140%);backdrop-filter:blur(10px) saturate(140%);opacity:0;transition:opacity .35s ease;}
dialog.fm.is-in::backdrop{opacity:1;}
dialog.fm.is-saindo::backdrop{opacity:0;}

/* 24/10: o painel cabe inteiro na tela (desktop e celular). Cabeçalho e botão ficam fixos; só o meio rola, se precisar.
   Borda: degradê com as seis cores da marca girando devagar (12s), com um halo suave das mesmas cores por trás. */
@property --fm-a{syntax:"<angle>";inherits:false;initial-value:0deg;}
.fm-painel{position:relative;isolation:isolate;width:min(600px,100%);max-height:calc(100dvh - 48px);margin:auto;border-radius:28px;
  display:flex;flex-direction:column;--fm-a:0deg;animation:fm-gira 12s linear infinite;
  opacity:0;transform:translate3d(0,28px,0) scale(.965);transition:opacity .4s ease,transform .6s cubic-bezier(.22,1,.36,1);}
.fm-painel::before,.fm-painel::after{content:"";position:absolute;border-radius:inherit;pointer-events:none;}
.fm-painel::before{inset:-3px;z-index:-2;opacity:.38;filter:blur(22px);
  background:conic-gradient(from var(--fm-a),#ff4a3d,#ff7a1a,#ffd84a,#88efff,#2f6bff,#8414dc,#ff4a3d);}
.fm-painel::after{inset:0;z-index:-1;border:2px solid transparent;
  background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--fm-a),#ff4a3d,#ff7a1a,#ffd84a,#88efff,#2f6bff,#8414dc,#ff4a3d) border-box;
  box-shadow:0 30px 80px rgba(1,22,48,.22);}
@keyframes fm-gira{to{--fm-a:360deg}}
dialog.fm.is-in .fm-painel{opacity:1;transform:none;}
dialog.fm.is-saindo .fm-painel{opacity:0;transform:translate3d(0,16px,0) scale(.98);transition-duration:.22s;}

/* luz do topo: a faixa de seis cores corre sem parar enquanto o formulário está aberto */
.fm-luz{display:none;}
.fm-luz::before{content:"";position:absolute;top:0;bottom:0;left:0;width:400%;
  background:linear-gradient(90deg,#ff4a3d,#ff7a1a,#ffd84a,#88efff,#2f6bff,#8414dc,#ff4a3d,#ff7a1a,#ffd84a,#88efff,#2f6bff,#8414dc,#ff4a3d);
  animation:fm-luz 16s linear infinite;}
@keyframes fm-luz{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

.fm-x{position:absolute;top:16px;right:16px;z-index:2;width:40px;height:40px;border:0;border-radius:50%;background:#f5f5f7;color:#17191c;
  display:grid;place-items:center;cursor:pointer;transition:background-color .2s ease,transform .2s ease;}
.fm-x:hover{background:#e8e8ed;transform:rotate(90deg);}
.fm-x svg{width:18px;height:18px;}

.fm-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;margin:2px;padding:32px 34px 0;border-radius:26px;scrollbar-width:thin;}
.fm-form>*{flex-shrink:0;}
.fm-ok{overflow-y:auto;margin:2px;border-radius:26px;}
.fm-topo{margin-bottom:20px;padding-right:40px;}
.fm-eyebrow{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:#015aff;}
.fm-tit{margin:0;font-size:30px;line-height:1.12;letter-spacing:-1px;font-weight:500;transition:font-size .3s ease;}
.fm-sub{margin:10px 0 0;font-size:15px;line-height:1.55;color:#656b75;}
dialog.fm.is-depois .fm-sub{display:none;}
dialog.fm.is-depois .fm-tit{font-size:20px;letter-spacing:-.5px;}
.fm-prog{margin-top:18px;height:4px;border-radius:4px;background:#eeeef0;overflow:hidden;}
.fm-prog i{display:block;height:100%;width:var(--fm-p,20%);border-radius:4px;
  background:linear-gradient(90deg,#ff4a3d,#ff7a1a 25%,#ffd84a 45%,#88efff 70%,#2f6bff);background-size:560px 100%;
  transition:width .45s cubic-bezier(.22,1,.36,1);}
.fm-conta{margin:8px 0 0;font-size:12px;color:#8a9099;font-variant-numeric:tabular-nums;}

.fm-passo{border:0;margin:0;padding:0;min-width:0;}
.fm-passo[hidden]{display:none;}
.fm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.fm-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px;}
.fm-campo{min-width:0;display:flex;flex-direction:column;gap:6px;}
.fm-campo--opcoes,.fm-campo--largo{grid-column:1/-1;}
.fm-rot{margin:0;font-size:13px;font-weight:500;color:#3d434b;}
.fm-req{color:#015aff;font-weight:600;margin-left:3px;}
.fm-opc{margin-left:6px;font-size:11px;font-weight:400;color:#9aa0a8;}
.fm-in{width:100%;height:48px;padding:0 16px;border:1px solid #f0f0f2;border-radius:14px;background:#f5f5f7;color:#17191c;
  font:400 16px/1.3 "Rethink Sans",Arial,sans-serif;transition:border-color .2s ease,background-color .2s ease,box-shadow .2s ease;outline:none;}
textarea.fm-in{height:auto;min-height:96px;padding:14px 16px;resize:vertical;}
.fm-in::placeholder{color:#a3a8b0;}
.fm-in:hover{background:#f0f0f2;}
.fm-in:focus{background:#fff;border-color:#015aff;box-shadow:0 0 0 4px rgba(1,90,255,.12);}
.fm-campo.is-erro .fm-in{border-color:#e5484d;background:#fff6f6;}
.fm-erro{margin:0;min-height:0;font-size:12px;color:#d93a40;}
.fm-erro:empty{display:none;}

/* pergunta por tela: rótulo vira a pergunta, respostas em pílulas grandes */
.fm-passo--pergunta .fm-rot{font-size:22px;line-height:1.25;letter-spacing:-.5px;font-weight:500;color:#17191c;margin-bottom:10px;}
.fm-passo--pergunta .fm-opc{font-size:12px;}
.fm-chips{display:flex;flex-wrap:wrap;gap:8px;}
.fm-chip{position:relative;cursor:pointer;}
.fm-chip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer;}
.fm-chip span{display:inline-flex;align-items:center;min-height:46px;padding:0 18px;border:1px solid #e3e4e8;border-radius:999px;background:#fff;
  font-size:15px;font-weight:500;color:#3d434b;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;}
.fm-chip:hover span{border-color:#c9cbd1;}
.fm-chip input:focus-visible + span{outline:3px solid #8bb4ff;outline-offset:2px;}
.fm-chip input:checked + span{background:#17191c;border-color:#17191c;color:#fff;transform:scale(1.03);}
.fm-campo.is-erro .fm-chip span{border-color:#f0b7b9;}

.fm-arquivo{position:relative;display:flex;align-items:center;min-height:50px;padding:0 16px;border:1px dashed #c9cbd1;border-radius:14px;background:#fafafb;
  font-size:14px;color:#3d434b;cursor:pointer;}
.fm-arquivo input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.fm-arquivo:hover{border-color:#015aff;color:#015aff;}

.fm-mel{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.fm-pe{position:sticky;bottom:0;z-index:1;display:flex;align-items:center;gap:12px;margin:auto -34px 0;padding:34px 34px 6px;
  background:linear-gradient(rgba(255,255,255,0),#fff 14px);}
.fm-voltar{border:0;background:none;padding:12px 4px;font:500 14px "Rethink Sans",Arial,sans-serif;color:#656b75;cursor:pointer;}
.fm-voltar:hover{color:#17191c;}
.fm-aviso{flex:1;margin:0;font-size:12px;line-height:1.4;color:#656b75;text-align:right;}
.fm-btn{display:inline-flex;align-items:center;gap:14px;min-height:52px;padding:0 26px;border:0;border-radius:999px;background:#17191c;color:#fff;
  font:500 15px "Rethink Sans",Arial,sans-serif;cursor:pointer;margin-left:auto;transition:background-color .2s ease,transform .2s ease,opacity .2s ease;}
.fm-btn svg{width:17px;height:17px;transition:transform .2s ease;}
.fm-btn:hover{background:#000;}
.fm-btn:hover svg{transform:translateX(3px);}
.fm-btn.is-enviar{background:#015aff;}
.fm-btn.is-enviar:hover{background:#0047cc;}
.fm-btn.is-oculto{opacity:0;pointer-events:none;}
.fm-btn.is-enviando{opacity:.6;cursor:progress;}
.fm-btn:focus-visible,.fm-voltar:focus-visible,.fm-x:focus-visible{outline:3px solid #8bb4ff;outline-offset:3px;}
.fm-privacidade{margin:0 -34px;padding:4px 34px 20px;font-size:11px;color:#9aa0a8;text-align:center;background:#fff;}

/* entrada em cascata: cada campo da tela sobe e aparece, um depois do outro */
.fm-passo.is-entra .fm-campo{animation:fm-campo .5s cubic-bezier(.22,1,.36,1) both;}
.fm-passo.is-entra .fm-campo:nth-child(2){animation-delay:.04s}
.fm-passo.is-entra .fm-campo:nth-child(3){animation-delay:.08s}
.fm-passo.is-entra .fm-campo:nth-child(4){animation-delay:.12s}
.fm-passo.is-entra .fm-campo:nth-child(5){animation-delay:.16s}
.fm-passo.is-entra .fm-campo:nth-child(6){animation-delay:.2s}
.fm-passo.is-entra .fm-chip{animation:fm-campo .45s cubic-bezier(.22,1,.36,1) both;}
.fm-passo.is-entra .fm-chip:nth-child(2){animation-delay:.03s}.fm-passo.is-entra .fm-chip:nth-child(3){animation-delay:.06s}
.fm-passo.is-entra .fm-chip:nth-child(4){animation-delay:.09s}.fm-passo.is-entra .fm-chip:nth-child(5){animation-delay:.12s}
.fm-passo.is-entra .fm-chip:nth-child(6){animation-delay:.15s}.fm-passo.is-entra .fm-chip:nth-child(7){animation-delay:.18s}
.fm-passo.is-entra .fm-chip:nth-child(8){animation-delay:.21s}
.fm-passo.is-volta.is-entra .fm-campo{animation-name:fm-campo-volta;}
@keyframes fm-campo{from{opacity:0;transform:translate3d(18px,10px,0)}to{opacity:1;transform:none}}
@keyframes fm-campo-volta{from{opacity:0;transform:translate3d(-18px,10px,0)}to{opacity:1;transform:none}}
dialog.fm:not(.is-in) .fm-passo.is-entra .fm-campo{animation-play-state:paused;}

/* sucesso: círculo com o degradê se desenha e o check entra */
.fm-ok{padding:56px 36px 40px;text-align:center;}
.fm-ok[hidden]{display:none;}
.fm-ok-ic{display:inline-grid;place-items:center;width:84px;height:84px;margin-bottom:20px;border-radius:50%;
  background:conic-gradient(from 200deg,#ff4a3d,#ff7a1a,#ffd84a,#88efff,#2f6bff,#8414dc,#ff4a3d);padding:3px;}
.fm-ok-ic svg{width:100%;height:100%;background:#fff;border-radius:50%;fill:none;stroke:#17191c;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;}
.fm-ok-ic circle{stroke:none;}
.fm-ok-ic path{stroke-dasharray:40;stroke-dashoffset:40;}
.fm-ok.is-entra .fm-ok-ic{animation:fm-pop .6s cubic-bezier(.22,1,.36,1) both;}
.fm-ok.is-entra .fm-ok-ic path{animation:fm-check .5s ease .35s forwards;}
.fm-ok.is-entra .fm-ok-tit,.fm-ok.is-entra .fm-ok-txt,.fm-ok.is-entra .fm-btn{animation:fm-campo .5s cubic-bezier(.22,1,.36,1) both;}
.fm-ok.is-entra .fm-ok-txt{animation-delay:.08s}.fm-ok.is-entra .fm-btn{animation-delay:.16s}
@keyframes fm-pop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
@keyframes fm-check{to{stroke-dashoffset:0}}
.fm-ok-tit{margin:0;font-size:28px;font-weight:500;letter-spacing:-.8px;}
.fm-ok-txt{margin:12px auto 28px;max-width:380px;font-size:16px;line-height:1.6;color:#656b75;}
.fm-btn--claro{margin:0 auto;background:#f5f5f7;color:#17191c;}
.fm-btn--claro:hover{background:#e8e8ed;}

@media (max-width:600px){
  dialog.fm{padding:10px 8px calc(8px + env(safe-area-inset-bottom,0px));align-items:stretch;}
  .fm-painel{width:100%;height:100%;max-height:none;margin:0;border-radius:24px;transform:translate3d(0,60px,0);}
  .fm-painel::before{filter:blur(14px);opacity:.32;}
  dialog.fm.is-in .fm-painel{transform:none;}
  dialog.fm.is-saindo .fm-painel{transform:translate3d(0,40%,0);}
  .fm-form{padding:24px 18px 0;border-radius:22px;}
  .fm-topo{margin-bottom:16px;}
  .fm-tit{font-size:24px;}
  .fm-sub{font-size:14px;}
  .fm-x{top:12px;right:12px;}
  .fm-pe{margin:auto -18px 0;padding:28px 18px 4px;}
  .fm-privacidade{margin:0 -18px;padding:4px 18px 14px;}
  .fm-ok{margin:auto 0;}
  .fm-grade{grid-template-columns:minmax(0,1fr);}
  .fm-passo--pergunta .fm-rot{font-size:20px;}
  .fm-chip span{min-height:44px;padding:0 16px;font-size:14px;}
  .fm-ok{padding:44px 20px 32px;}
}
@media (max-width:600px) and (max-height:720px){
  .fm-sub{display:none;}
}
@media (max-height:760px) and (min-width:601px){
  .fm-form{padding-top:28px;}
  .fm-sub{display:none;}
  .fm-tit{font-size:26px;}
}
@media (prefers-reduced-motion:reduce){
  .fm-painel{animation:none;}
  .fm-luz::before{animation:none;}
  .fm-painel,dialog.fm::backdrop,.fm-prog i{transition:none!important;}
  .fm-passo.is-entra .fm-campo,.fm-passo.is-entra .fm-chip,.fm-ok.is-entra *{animation:none!important;}
  .fm-ok-ic path{stroke-dashoffset:0;}
}
.fm-grade > .fm-campo:last-child:nth-child(odd){grid-column:1/-1;}   /* número ímpar de campos: o último ocupa a linha */
