:root{
  --preto:#050507; --grafite:#101018; --grafite2:#171a2e; --linha:#2e3150;
  --ambar:#778afd; --ambar2:#a3b0ff; --ambar-suave:rgba(119,138,253,.12); --botao:#5b6cf2;
  --marrom:#1c1f5c; --claro:#f6f4ef; --txt:#f3f1ec; --muted:#9ca1b9; --erro:#ff6b5e;
  --r:14px; --fonte-titulo:'Montserrat',system-ui,sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--preto);color:var(--txt);line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--fonte-titulo);line-height:1.12;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.logo{height:34px;width:auto;display:block}
.eyebrow{display:inline-block;color:var(--ambar);font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.centro{text-align:center;margin-top:48px}

/* Botões */
.btn{font:600 1rem Inter,sans-serif;border:0;border-radius:10px;cursor:pointer;background:var(--botao);color:#fff;padding:14px 26px;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex;align-items:center;gap:10px}
.btn:hover{background:#6f7ff7;transform:translateY(-1px);box-shadow:0 10px 30px -10px rgba(119,138,253,.6)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-sm{padding:10px 18px;font-size:.9rem}
.btn-lg{padding:18px 32px;font-size:1.1rem}

/* Nav + hero */
.nav{position:sticky;top:0;z-index:10;background:rgba(5,5,7,.85);backdrop-filter:blur(10px);border-bottom:1px solid #16182a}
.nav-in{display:flex;justify-content:space-between;align-items:center;height:70px}
.hero{padding:110px 0 120px;background:
  radial-gradient(900px 500px at 85% 10%,rgba(119,138,253,.18),transparent 60%),
  radial-gradient(700px 400px at 0% 100%,rgba(40,44,140,.45),transparent 60%)}
.hero h1{font-size:clamp(2.3rem,5.5vw,4.3rem);max-width:17ch;margin-bottom:22px;font-weight:800;letter-spacing:-.01em}
.hero h1 em{font-style:normal;color:var(--ambar)}
.lead{font-size:1.2rem;color:var(--muted);max-width:52ch;margin:0 0 34px}
.hint{color:var(--muted);font-size:.85rem;margin-top:14px}

/* Seções */
.sec{padding:96px 0}
.sec h2{font-size:clamp(1.8rem,3.5vw,2.6rem);margin-bottom:44px}
.sec-escura{background:var(--grafite);border-top:1px solid #16182a}
.grid-pal{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:20px}
.pal{background:var(--grafite);border:1px solid #1d2036;border-radius:var(--r);overflow:hidden;transition:transform .2s,border-color .2s}
.pal:hover{transform:translateY(-4px);border-color:var(--ambar)}
.pal-foto{aspect-ratio:1;background:linear-gradient(135deg,var(--marrom),var(--grafite2));display:grid;place-items:center;overflow:hidden}
.pal-foto img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15)}
.pal-foto span{font:700 3rem var(--fonte-titulo);color:var(--ambar)}
.pal-info{padding:18px 18px 20px}
.pal-info h3{font-size:1.15rem;margin-bottom:4px}
.pal-info p{color:var(--muted);font-size:.9rem;margin:0 0 12px}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tags span{font-size:.75rem;background:var(--ambar-suave);color:var(--ambar2);padding:4px 9px;border-radius:99px}
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.passos b{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--botao);color:#fff;font:700 1.2rem var(--fonte-titulo);margin-bottom:16px}
.passos h3{font-size:1.25rem;margin-bottom:6px}
.passos p{color:var(--muted);margin:0}
.rodape{color:var(--muted);font-size:.85rem;padding:30px 0;text-align:center;border-top:1px solid #16182a}

/* ===== Fluxo estilo Typeform ===== */
.fluxo{position:fixed;inset:0;z-index:50;background:
  radial-gradient(800px 500px at 100% 0%,rgba(119,138,253,.10),transparent 60%),var(--preto);
  display:flex;flex-direction:column;overflow-y:auto}
.barra{position:fixed;top:0;left:0;right:0;height:4px;background:#1a1c30;z-index:2}
.barra-in{height:100%;width:0;background:var(--ambar);transition:width .4s ease}
.fluxo-top{display:flex;justify-content:space-between;align-items:center;padding:22px 28px}
.fechar{background:none;border:0;color:var(--muted);font-size:1.3rem;cursor:pointer;padding:6px 10px;border-radius:8px}
.fechar:hover{color:var(--txt);background:#16182a}
.palco{flex:1;display:flex;align-items:center;justify-content:center;padding:20px 24px 110px}
.passo{width:100%;max-width:720px;animation:entra .45s cubic-bezier(.2,.8,.2,1)}
.passo.sai{animation:sai .25s ease forwards}
@keyframes entra{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes sai{to{opacity:0;transform:translateY(-30px)}}
.num{color:var(--ambar);font-weight:600;font-size:.95rem;margin-bottom:10px;display:flex;align-items:center;gap:8px}
.pergunta{font:600 clamp(1.5rem,3.2vw,2.1rem)/1.25 var(--fonte-titulo);margin:0 0 8px}
.pergunta .req{color:var(--ambar)}
.ajuda{color:var(--muted);margin:0 0 26px;font-size:1.02rem}
.campo{width:100%;background:transparent;border:0;border-bottom:2px solid var(--linha);color:var(--txt);font:500 clamp(1.25rem,2.6vw,1.7rem) Inter,sans-serif;padding:10px 2px;outline:none;transition:border-color .2s;color-scheme:dark}
.campo:focus{border-color:var(--ambar)}
.campo::placeholder{color:#555a78}
.acoes{display:flex;align-items:center;gap:14px;margin-top:28px}
.dica{color:var(--muted);font-size:.85rem}
.dica kbd{font:600 .8rem Inter;background:#1a1c30;border-radius:5px;padding:2px 6px}
.erro{color:var(--erro);font-size:.95rem;margin-top:12px;min-height:1.2em}

.opcoes{display:flex;flex-direction:column;gap:10px;max-width:460px}
.opcao{display:flex;align-items:center;gap:14px;text-align:left;width:100%;background:var(--ambar-suave);border:1px solid rgba(119,138,253,.35);color:var(--txt);border-radius:10px;padding:12px 14px;font:500 1.08rem Inter;cursor:pointer;transition:background .15s,border-color .15s}
.opcao:hover{background:rgba(119,138,253,.22)}
.opcao.sel{background:rgba(119,138,253,.3);border-color:var(--ambar)}
.opcao kbd{flex:none;width:26px;height:26px;display:grid;place-items:center;border:1px solid rgba(119,138,253,.6);border-radius:6px;font:600 .8rem Inter;color:var(--ambar2)}
.opcao.sel kbd{background:var(--botao);color:#fff}
.opcao .ok{margin-left:auto;color:var(--ambar);opacity:0}
.opcao.sel .ok{opacity:1}
.outro-campo{margin-top:14px}

.cards-pal{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.card-pal{position:relative;background:var(--grafite);border:2px solid #1f2238;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;color:var(--txt);padding:0;font:inherit;transition:border-color .15s,transform .15s}
.card-pal:hover{border-color:rgba(119,138,253,.6);transform:translateY(-2px)}
.card-pal.sel{border-color:var(--ambar)}
.card-pal .pal-foto span{font-size:2rem}
.card-pal .nome{padding:10px 12px 12px;font-weight:600;font-size:.95rem;line-height:1.3}
.card-pal .nome small{display:block;color:var(--muted);font-weight:400;font-size:.78rem;margin-top:2px}
.card-pal kbd{position:absolute;top:8px;left:8px;background:rgba(0,0,0,.65);border-radius:6px;padding:2px 7px;font:600 .75rem Inter;color:var(--ambar2)}
.card-pal.indef .pal-foto span{font-size:2.4rem}

.resumo{background:var(--grafite);border:1px solid #1f2238;border-radius:var(--r);padding:6px 20px;margin-bottom:8px;max-height:46vh;overflow:auto}
.resumo div{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #1a1c30;font-size:.95rem;cursor:pointer}
.resumo div:last-child{border:0}
.resumo dt{color:var(--muted)}
.resumo dd{margin:0;text-align:right;font-weight:500}
.resumo div:hover dd{color:var(--ambar2)}

.fim{text-align:center}
.fim .icone{width:76px;height:76px;border-radius:50%;background:var(--botao);color:#fff;display:grid;place-items:center;font-size:2.2rem;margin:0 auto 24px}

.setas{position:fixed;right:24px;bottom:24px;display:flex;gap:2px}
.setas button{background:var(--botao);border:0;color:#fff;width:40px;height:36px;font-size:1.1rem;cursor:pointer}
.setas button:first-child{border-radius:8px 0 0 8px}
.setas button:last-child{border-radius:0 8px 8px 0}
.setas button:disabled{opacity:.35;cursor:default}

@media (max-width:760px){
  .passos{grid-template-columns:1fr}
  .cards-pal{grid-template-columns:repeat(2,1fr)}
  .hero{padding:70px 0 80px}
  .fluxo-top{padding:18px 20px}
  .dica{display:none}
}

/* ===== Visual de conversa (chatbot) ===== */
.fluxo{background:
  radial-gradient(700px 480px at 100% 0%,rgba(119,138,253,.16),transparent 60%),
  radial-gradient(600px 420px at 0% 100%,rgba(40,44,140,.28),transparent 60%),var(--preto)}
.passo{max-width:760px}
.msg-user{display:flex;justify-content:flex-end;margin-bottom:22px;opacity:.75}
.msg-user span{background:var(--botao);color:#fff;padding:9px 16px;border-radius:18px 18px 4px 18px;font-size:.95rem;max-width:80%}
.msg-bot{display:flex;gap:14px;align-items:flex-start;margin-bottom:26px}
.avatar{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--botao),#2a2f8f);color:#fff;font:800 1.2rem var(--fonte-titulo);
  box-shadow:0 0 0 4px rgba(119,138,253,.15)}
.balao{background:rgba(255,255,255,.04);border:1px solid rgba(119,138,253,.18);border-radius:4px 20px 20px 20px;padding:18px 22px 20px;backdrop-filter:blur(6px)}
.balao .num{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ambar);margin-bottom:8px}
.balao .pergunta{margin:0;font-size:clamp(1.3rem,2.6vw,1.75rem)}
.balao .ajuda{margin:8px 0 0;font-size:.95rem}
.resposta{padding-left:58px}
.caixa{display:flex;align-items:center;background:rgba(255,255,255,.04);border:1.5px solid var(--linha);border-radius:14px;padding:6px 6px 6px 18px;transition:border-color .2s,box-shadow .2s}
.caixa:focus-within{border-color:var(--ambar);box-shadow:0 0 0 4px rgba(119,138,253,.15)}
.caixa .campo{border:0;padding:12px 0;font-size:clamp(1.1rem,2.2vw,1.35rem)}
.enviar-seta{flex:none;width:48px;height:48px;border:0;border-radius:10px;background:var(--botao);color:#fff;font-size:1.3rem;cursor:pointer;transition:background .15s,transform .15s}
.enviar-seta:hover{background:#6f7ff7;transform:translateX(2px)}
.dica-campo{margin:10px 0 0 4px}
.outro-campo{border:1.5px solid var(--linha);border-radius:12px;padding:12px 16px;font-size:1.1rem;background:rgba(255,255,255,.04)}
.outro-campo:focus{border-color:var(--ambar)}
@media (max-width:760px){
  .resposta{padding-left:0}
  .avatar{width:36px;height:36px;font-size:1rem}
  .balao{padding:14px 16px}
}

/* Tela de agradecimento */
.fim .ajuda{max-width:560px;margin:0 auto 28px}
.fim-sub{font-size:1rem;text-align:left;margin:0 0 10px;color:var(--ambar2)}
.resumo-fim{text-align:left;max-height:none}
.resumo-fim div{cursor:default}
.resumo-fim div:hover dd{color:inherit}
.fim-acoes{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:24px}
.btn-sec{background:transparent;border:1.5px solid var(--linha);color:var(--txt)}
.btn-sec:hover{background:rgba(255,255,255,.05);box-shadow:none}
@media print{
  body{background:#fff;color:#000}
  #landing,.barra,.setas,.fechar,.fim-acoes,.fim .icone{display:none!important}
  .fluxo{position:static;background:#fff}
  .resumo{border:1px solid #ccc;background:#fff}
  .resumo dt,.ajuda,.fim-sub{color:#444}
  .pergunta{color:#000}
  .fluxo-top .logo{filter:invert(1)}
}

/* Calendário próprio */
.cal{max-width:380px;background:rgba(255,255,255,.035);border:1px solid rgba(119,138,253,.22);border-radius:18px;padding:18px 18px 14px;box-shadow:0 20px 50px -25px rgba(91,108,242,.45)}
.cal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.cal-top strong{font:700 1.1rem var(--fonte-titulo);text-transform:capitalize}
.cal-top strong span{color:var(--ambar);font-weight:600}
.cal-nav{width:36px;height:36px;border-radius:10px;border:1px solid var(--linha);background:transparent;color:var(--txt);font-size:1.3rem;line-height:1;cursor:pointer;transition:background .15s,border-color .15s}
.cal-nav:hover:not(:disabled){background:var(--ambar-suave);border-color:var(--ambar)}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-sem,.cal-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-sem span{font-size:.72rem;font-weight:600;color:var(--muted);padding:4px 0 8px;letter-spacing:.05em}
.cal-dias button{aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:var(--txt);font:500 .95rem Inter;cursor:pointer;transition:background .12s,transform .12s;position:relative}
.cal-dias button:hover:not(:disabled){background:var(--ambar-suave);transform:scale(1.06)}
.cal-dias button:disabled{color:#3b3e57;cursor:default}
.cal-dias button.hoje::after{content:'';position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ambar)}
.cal-dias button.sel{background:var(--botao);color:#fff;font-weight:700;box-shadow:0 6px 18px -6px rgba(91,108,242,.8)}
.cal-dias button.sel::after{background:#fff}
.cal-sel{color:var(--ambar2);font-size:.95rem;text-transform:none}
.cal-sel::first-letter{text-transform:uppercase}
@media (max-width:760px){.cal{max-width:none}}

/* Resumo em cartões (sem rolagem interna) */
.passo-resumo{max-width:1040px}
.passo-resumo .resposta{padding-left:0}
.res-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:left}
.res-card{background:rgba(255,255,255,.035);border:1px solid rgba(119,138,253,.18);border-radius:16px;padding:16px 16px 8px}
.res-card h4{margin:0 0 10px;font:700 .78rem var(--fonte-titulo);letter-spacing:.08em;text-transform:uppercase;color:var(--ambar)}
.res-card dl{margin:0}
.res-card dl div{position:relative;padding:9px 26px 9px 10px;margin:0 -10px;border-radius:10px;border-top:1px solid rgba(255,255,255,.05)}
.res-card dl div:first-child{border-top:0}
.res-card dt{font-size:.75rem;color:var(--muted);margin-bottom:2px}
.res-card dd{margin:0;font-weight:600;font-size:.95rem;word-break:break-word}
.res-card [data-ir]{cursor:pointer;transition:background .15s}
.res-card [data-ir]:hover,.res-card [data-ir]:focus-visible{background:var(--ambar-suave);outline:none}
.lapis{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--ambar);opacity:0;transition:opacity .15s}
.res-card [data-ir]:hover .lapis,.res-card [data-ir]:focus-visible .lapis{opacity:1}
.acoes-resumo{flex-wrap:wrap}
.fim .res-grid{margin-top:6px}
@media (max-width:900px){.res-grid{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.res-grid{grid-template-columns:1fr}.lapis{opacity:.6}}
@media print{.res-card{border:1px solid #ccc;background:#fff}.res-card dd{color:#000}.res-card h4{color:#333}}

/* Balão de reação (comentário antes da pergunta) */
.msg-reacao{margin-bottom:10px}
.balao-reacao{font-size:1.02rem;line-height:1.5;color:var(--txt);padding:14px 20px;animation:digita .5s ease}
.msg-bot.sem-avatar .avatar{visibility:hidden}
.msg-reacao + .msg-bot .balao{border-radius:20px;animation:digita .5s ease .35s both}
@keyframes digita{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Impressão / PDF do resumo */
@media print{
  @page{size:A4;margin:14mm}
  html,body{height:auto!important;overflow:visible!important}
  .fluxo{position:static!important;display:block!important;overflow:visible!important;min-height:0}
  .fluxo-top{padding:0 0 16px}
  .palco{display:block!important;padding:0!important;min-height:0}
  .passo,.passo *{animation:none!important;opacity:1!important;transform:none!important}
  .passo{max-width:none}
  .fim .pergunta{font-size:22pt;margin-bottom:6px}
  .fim .ajuda{margin-bottom:16px}
  .res-grid{grid-template-columns:repeat(3,1fr);gap:10px}
  .res-card{break-inside:avoid;page-break-inside:avoid}
  .res-card dd{font-size:10pt}
  .res-card dt{font-size:8pt}
  .lapis{display:none}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

.pal-img{position:relative}
.idiomas{position:absolute;top:10px;right:10px;background:var(--botao);color:#fff;font:700 .7rem Inter;letter-spacing:.04em;padding:4px 9px;border-radius:99px;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.pal-info p{min-height:3em}
.pal{display:flex;flex-direction:column}
.pal-info{display:flex;flex-direction:column;flex:1}
.pal-info p{min-height:0;font-size:.85rem;line-height:1.45;color:var(--ambar2);margin-bottom:14px}
.tags{display:block;margin-top:auto;padding-top:12px;border-top:1px solid rgba(255,255,255,.07);font-size:.78rem;line-height:1.6;color:var(--muted)}
.tags span{background:none;padding:0;border-radius:0;color:inherit;font-size:inherit}
.tags span:not(:last-child)::after{content:' · ';color:var(--ambar)}
