/* =====================================================================
   BOLT · Design System
   ===================================================================== */
:root {
  --violeta: #8e76fa;
  --violeta-claro: #b3a3ff;
  --violeta-fundo: #6b4ff0;
  --violeta-12: rgba(142, 118, 250, .12);
  --violeta-24: rgba(142, 118, 250, .24);

  /* a cor que a resposta da etapa 9 muda ao vivo — cena, brilho e planta.
     Os controles continuam no roxo da marca, sempre. */
  --sensacao: #8e76fa;
  --sensacao-claro: #b3a3ff;
  --sensacao-fundo: #6b4ff0;
  --sensacao-12: rgba(142, 118, 250, .12);
  --sensacao-24: rgba(142, 118, 250, .24);

  --preto: #06060a;
  --preto-2: #0b0a12;
  --superficie: #12111c;
  --superficie-2: #191826;
  --linha: rgba(255, 255, 255, .09);
  --linha-forte: rgba(255, 255, 255, .46);

  --texto: #f3f2f8;
  --texto-2: #a5a2b8;
  --texto-3: #8a87a0;

  --r-sm: 10px;
  --r: 18px;
  --r-lg: 28px;
  --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --display: "Space Grotesk", "Inter", sans-serif;
  --mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0; background: var(--preto); color: var(--texto);
  font-family: var(--sans); line-height: 1.6; -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
button, input, select, textarea { font-family: inherit; font-size: inherit; color: inherit; }
a { color: var(--violeta-claro); }

/* ---------- Fundo animado ---------- */
#cena {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  opacity: .85;
}
.veu {
  position: fixed; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(900px 600px at 70% -10%, rgba(142,118,250,.20), transparent 60%),
    radial-gradient(700px 500px at 10% 100%, rgba(107,79,240,.16), transparent 60%);
}
.grao {
  position: fixed; inset: 0; z-index: 2; pointer-events: none; opacity: .28;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");
  mix-blend-mode: overlay;
}
main, header, footer { position: relative; z-index: 3; }

/* ---------- Topo ---------- */
.topo {
  position: fixed; top: 0; left: 0; right: 0; z-index: 40;
  display: flex; align-items: center; justify-content: space-between;
  padding: 1.1rem clamp(1.1rem, 4vw, 3rem);
  transition: background .4s var(--ease), backdrop-filter .4s;
}
.topo.solido { background: rgba(6,6,10,.72); backdrop-filter: blur(18px); border-bottom: 1px solid var(--linha); }
.topo img.logo { height: 26px; width: auto; }
.topo-links { display: flex; gap: 1.4rem; align-items: center; font-size: .86rem; color: var(--texto-2); }
.topo-links a { color: var(--texto-2); text-decoration: none; transition: color .2s; }
.topo-links a:hover { color: var(--texto); }
@media (max-width: 640px) { .topo-links .some { display: none; } }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  padding: .95rem 1.9rem; border-radius: 99px; border: 1px solid transparent;
  font-weight: 600; font-size: .95rem; cursor: pointer; text-decoration: none;
  transition: transform .2s var(--ease), box-shadow .3s, background .25s, border-color .25s;
  position: relative; overflow: hidden;
}
.btn-primario {
  background: linear-gradient(135deg, var(--violeta-fundo), var(--violeta));
  color: #fff; box-shadow: 0 8px 30px rgba(142,118,250,.35);
}
.btn-primario:hover { transform: translateY(-2px); box-shadow: 0 16px 44px rgba(142,118,250,.48); }
.btn-vidro {
  background: rgba(255,255,255,.05); border-color: var(--linha-forte); color: var(--texto);
  backdrop-filter: blur(10px);
}
.btn-vidro:hover { background: rgba(255,255,255,.09); transform: translateY(-2px); }
.btn:disabled { opacity: .4; cursor: not-allowed; transform: none !important; }
.btn-sm { padding: .55rem 1.1rem; font-size: .85rem; }

/* ---------- Hero ---------- */
.hero {
  min-height: 100svh; display: flex; flex-direction: column; justify-content: center;
  padding: 7rem clamp(1.1rem, 5vw, 3rem) 4rem; max-width: 1200px; margin: 0 auto;
}
.selo {
  display: inline-flex; align-items: center; gap: .55rem; align-self: flex-start;
  padding: .4rem .9rem .4rem .5rem; border-radius: 99px;
  border: 1px solid var(--linha-forte); background: rgba(255,255,255,.04);
  font-size: .76rem; letter-spacing: .06em; color: var(--texto-2); text-transform: uppercase;
  backdrop-filter: blur(10px); margin-bottom: 2rem;
}
.selo .ponto { width: 7px; height: 7px; border-radius: 99px; background: var(--violeta); box-shadow: 0 0 12px var(--violeta); animation: pulsa 2.4s infinite; }
@keyframes pulsa { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .45; transform: scale(.82); } }

.hero h1 {
  font-family: var(--display);
  font-size: clamp(2.9rem, 11vw, 8.4rem);
  line-height: .92; letter-spacing: -.045em; margin: 0 0 1.6rem; font-weight: 700;
  text-transform: uppercase;
}
.hero h1 .linha { display: block; overflow: hidden; padding-bottom: .14em; margin-bottom: -.14em; }
.hero h1 .linha > span {
  display: block; transform: translateY(102%);
  animation: sobeLinha 1s var(--ease) forwards;
}
.hero h1 .linha:nth-child(2) > span { animation-delay: .1s; }
.hero h1 .linha:nth-child(3) > span { animation-delay: .2s; }
@keyframes sobeLinha { to { transform: none; } }
.brilho {
  background: linear-gradient(100deg, var(--violeta-claro), var(--violeta) 40%, #fff 70%, var(--violeta-claro));
  background-size: 200% auto;
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: varre 6s linear infinite;
}
@keyframes varre { to { background-position: 200% center; } }

.hero .lead {
  font-size: clamp(1.05rem, 2.4vw, 1.35rem); color: var(--texto-2);
  max-width: 46ch; margin: 0 0 2.6rem;
  opacity: 0; animation: aparece .9s var(--ease) .45s forwards;
}
.hero-acoes { display: flex; gap: .8rem; flex-wrap: wrap; opacity: 0; animation: aparece .9s var(--ease) .6s forwards; }
@keyframes aparece { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.metricas { display: flex; gap: 2.4rem; flex-wrap: wrap; margin-top: 3.5rem; opacity: 0; animation: aparece .9s var(--ease) .75s forwards; }
.metricas div b { display: block; font-family: var(--display); font-size: 1.7rem; letter-spacing: -.02em; }
.metricas div span { font-size: .78rem; color: var(--texto-3); letter-spacing: .08em; text-transform: uppercase; }

/* ---------- Seta ---------- */
.seta {
  display: flex; flex-direction: column; align-items: center; gap: .7rem;
  margin: 4rem auto 0; color: var(--texto-3); font-size: .74rem;
  letter-spacing: .18em; text-transform: uppercase; text-decoration: none;
  transition: color .25s;
}
.seta:hover { color: var(--violeta-claro); }
.seta svg { animation: flutua 2.2s var(--ease) infinite; }
@keyframes flutua { 0%,100% { transform: translateY(0); } 50% { transform: translateY(9px); } }

/* ---------- Seção ---------- */
.secao { padding: 6rem clamp(1.1rem, 5vw, 3rem); max-width: 1200px; margin: 0 auto; }
.secao-cab { margin-bottom: 3rem; }
.kicker { font-size: .72rem; letter-spacing: .2em; text-transform: uppercase; color: var(--violeta); font-weight: 700; }
.secao h2 { font-family: var(--display); font-size: clamp(1.9rem, 4.6vw, 3.1rem); letter-spacing: -.03em; margin: .7rem 0 .6rem; line-height: 1.05; }
.secao .sub { color: var(--texto-2); max-width: 56ch; margin: 0; }

.revela { opacity: 0; transform: translateY(34px); transition: opacity .9s var(--ease), transform .9s var(--ease); }
.revela.on { opacity: 1; transform: none; }

/* ---------- Prévias de projeto ---------- */
.projetos { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; perspective: 1600px; }
.projeto {
  border-radius: var(--r-lg); overflow: hidden; background: var(--superficie);
  border: 1px solid var(--linha); transform-style: preserve-3d;
  transition: transform .5s var(--ease), border-color .4s, box-shadow .5s;
  will-change: transform;
}
.projeto:hover { border-color: var(--violeta-24); box-shadow: 0 30px 80px rgba(0,0,0,.6), 0 0 0 1px var(--violeta-24); }
.navegador {
  height: 30px; display: flex; align-items: center; gap: .35rem; padding: 0 .8rem;
  background: rgba(255,255,255,.04); border-bottom: 1px solid var(--linha);
}
.navegador i { width: 8px; height: 8px; border-radius: 99px; background: rgba(255,255,255,.18); }
.navegador .barra {
  flex: 1; height: 15px; border-radius: 99px; background: rgba(255,255,255,.05);
  margin-left: .5rem; font-size: .55rem; color: var(--texto-3);
  display: flex; align-items: center; justify-content: center; letter-spacing: .04em;
}
.projeto { --h: 320px; }
.tela { height: var(--h); overflow: hidden; position: relative; }
.tela .rolagem { transition: transform 5s linear; }
.projeto:hover .tela .rolagem,
.projeto:focus-within .tela .rolagem,
.projeto.rolando .tela .rolagem { transform: translateY(calc(-100% + var(--h))); }
.projeto-rodape { padding: 1.1rem 1.3rem 1.3rem; border-top: 1px solid var(--linha); }
.projeto-rodape h3 { margin: 0 0 .2rem; font-size: 1rem; }
.projeto-rodape p { margin: 0; font-size: .82rem; color: var(--texto-3); }
.tags-proj { display: flex; gap: .35rem; flex-wrap: wrap; margin-top: .7rem; }
.tags-proj span { font-size: .68rem; padding: .18rem .55rem; border-radius: 99px; border: 1px solid var(--linha); color: var(--texto-2); }

/* miniaturas de site */
.mini { font-size: 6px; line-height: 1.5; }
.mini * { box-sizing: border-box; }
.mini-hero { padding: 26px 20px; }
.mini h4 { font-size: 17px; line-height: 1.05; margin: 0 0 8px; letter-spacing: -.02em; }
.mini p { margin: 0 0 10px; font-size: 7.5px; opacity: .7; }
.mini .cta { display: inline-block; font-size: 7px; padding: 5px 11px; border-radius: 99px; }
.mini .grade { display: grid; gap: 6px; padding: 0 20px 20px; }
.mini .bloco { border-radius: 6px; height: 52px; }
.mini .faixa { padding: 12px 20px; display: flex; gap: 14px; font-size: 7px; }
.mini .nav { display: flex; gap: 10px; padding: 12px 20px; font-size: 7px; opacity: .75; align-items: center; }
.mini .nav b { font-size: 9px; opacity: 1; letter-spacing: -.02em; }

/* ---------- Faixa de processo ---------- */
.passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.passo { padding: 1.5rem; border: 1px solid var(--linha); border-radius: var(--r); background: rgba(255,255,255,.02); }
.passo b { font-family: var(--display); color: var(--violeta); font-size: .9rem; letter-spacing: .1em; }
.passo h4 { margin: .6rem 0 .35rem; font-size: 1.02rem; }
.passo p { margin: 0; font-size: .87rem; color: var(--texto-2); }

/* =====================================================================
   CAMPOS — usados dentro do palco (o quiz em tela cheia)
   ===================================================================== */
.som-btn {
  width: 34px; height: 34px; border-radius: 99px; border: 1px solid var(--linha);
  background: rgba(255,255,255,.04); cursor: pointer; display: grid; place-items: center;
  transition: .2s; color: var(--texto-2);
}
.som-btn:hover { border-color: var(--violeta-24); color: var(--texto); }
.som-btn.mudo { opacity: .45; }



@keyframes entraMsg { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }

.digita i:nth-child(2) { animation-delay: .18s; } @keyframes bola { 0%,60%,100% { opacity: .25; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }

/* ---------- Área de resposta ---------- */
.campo-rot { font-size: .8rem; color: var(--texto-2); margin-bottom: .4rem; display: block; }
.campo-rot .obr { color: var(--violeta); }
.campo + .campo { margin-top: .9rem; }

.inp {
  width: 100%; padding: .85rem 1rem; border-radius: 12px;
  border: 1px solid var(--linha-forte); background: rgba(255,255,255,.04);
  transition: border-color .2s, box-shadow .2s, background .2s; font-size: .95rem;
}
.inp:focus { outline: none; border-color: var(--violeta); box-shadow: 0 0 0 3px var(--violeta-12); background: rgba(255,255,255,.06); }
.inp.erro { border-color: #ff6b5e; box-shadow: 0 0 0 3px rgba(255,107,94,.14); }
textarea.inp { resize: vertical; min-height: 62px; line-height: 1.55; }
select.inp { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a5a2b8' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; padding-right: 2.4rem; }
select.inp option { background: var(--superficie); }

.opcoes { display: flex; flex-wrap: wrap; gap: .5rem; }
.opc {
  padding: .68rem 1.05rem; border-radius: 99px; border: 1px solid var(--linha-forte);
  background: rgba(255,255,255,.03); cursor: pointer; font-size: .88rem;
  transition: all .2s var(--ease); user-select: none;
}
.opc:hover { border-color: var(--violeta-24); transform: translateY(-1px); }
.opc.on {
  background: linear-gradient(135deg, rgba(107,79,240,.5), rgba(142,118,250,.34));
  border-color: var(--violeta); color: #fff;
}
.opc.bloqueada { opacity: .35; cursor: not-allowed; }

.chips-box {
  display: flex; flex-wrap: wrap; gap: .4rem; padding: .55rem .6rem; min-height: 48px;
  border: 1px solid var(--linha-forte); border-radius: 12px; background: rgba(255,255,255,.04);
}
.chips-box:focus-within { border-color: var(--violeta); box-shadow: 0 0 0 3px var(--violeta-12); }
.chip { display: inline-flex; align-items: center; gap: .35rem; background: var(--violeta-24); border: 1px solid var(--violeta-24); border-radius: 99px; padding: .2rem .6rem; font-size: .8rem; }
.chip button { background: none; border: 0; cursor: pointer; color: var(--texto-2); padding: .38rem; margin: -.38rem -.25rem -.38rem 0; line-height: 1; }
.chips-box input { flex: 1; min-width: 120px; border: 0; background: none; outline: none; padding: .3rem; font-size: .9rem; }

.cores-linha { display: flex; gap: .6rem; flex-wrap: wrap; }
.cor-item { display: flex; flex-direction: column; gap: .3rem; }
.cor-item input[type=color] { width: 64px; height: 44px; padding: 3px; border: 1px solid var(--linha-forte); border-radius: 10px; background: rgba(255,255,255,.04); cursor: pointer; }
.cor-item span { font-size: .7rem; color: var(--texto-3); text-align: center; }

/* upload */
.solta {
  border: 1.5px dashed var(--linha-forte); border-radius: var(--r); padding: 1.6rem;
  text-align: center; cursor: pointer; transition: .25s; background: rgba(255,255,255,.02);
}
.solta:hover, .solta.sobre { border-color: var(--violeta); background: var(--violeta-12); }
.solta b { display: block; font-size: .95rem; margin-bottom: .2rem; }
.solta span { font-size: .8rem; color: var(--texto-3); }
.arqs { display: grid; gap: .5rem; margin-top: .8rem; }
.arq { display: flex; align-items: center; gap: .7rem; padding: .6rem .8rem; border: 1px solid var(--linha); border-radius: 10px; background: rgba(255,255,255,.03); font-size: .85rem; }
.arq .mini-prev { width: 34px; height: 34px; border-radius: 7px; object-fit: contain; background: rgba(255,255,255,.06); flex: none; }
.arq .nome { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arq .peso { color: var(--texto-3); font-size: .76rem; }
.arq button { background: none; border: 0; color: var(--texto-3); cursor: pointer; padding: .5rem; margin: -.5rem; }
.barra-up { height: 3px; background: rgba(255,255,255,.08); border-radius: 99px; overflow: hidden; margin-top: .3rem; }
.barra-up div { height: 100%; background: var(--violeta); width: 0; transition: width .3s; }

.dica-tecla { font-size: .72rem; color: var(--texto-3); }
.aviso { color: #ff8b80; font-size: .82rem; margin-top: .6rem; display: none; }
.aviso.on { display: block; }

/* ---------- Resumo final ---------- */
.resumo-item { padding: .55rem 0; border-bottom: 1px solid var(--linha); font-size: .88rem; }
.resumo-item:last-child { border: 0; }
.resumo-item .r-p { color: var(--texto-3); font-size: .76rem; margin-bottom: .12rem; }
.resumo-item .r-v { white-space: pre-wrap; }
.resumo-item .editar { background: none; border: 0; color: var(--violeta-claro); cursor: pointer; font-size: .78rem; padding: .5rem .7rem; margin: -.5rem 0 -.5rem .2rem; }

/* ---------- Final ---------- */
.final { text-align: center; padding: 2.5rem 1.4rem 3rem; }
.final .selo-ok {
  width: 62px; height: 62px; border-radius: 99px; margin: 0 auto 1.4rem;
  display: grid; place-items: center;
  background: linear-gradient(135deg, var(--violeta-fundo), var(--violeta));
  box-shadow: 0 0 0 8px var(--violeta-12), 0 14px 40px rgba(142,118,250,.4);
  animation: entraSelo .7s var(--ease) both;
}
@keyframes entraSelo { from { transform: scale(.5); opacity: 0; } to { transform: none; opacity: 1; } }
.final h2 { font-family: var(--display); font-size: clamp(1.6rem, 4.6vw, 2.4rem); letter-spacing: -.03em; margin: 0 0 .8rem; }
.final p { color: var(--texto-2); max-width: 52ch; margin: 0 auto 1rem; }
.final .elogio {
  text-align: left; border-left: 2px solid var(--violeta); padding: .2rem 0 .2rem 1.1rem;
  margin: 1.6rem auto; max-width: 54ch; color: var(--texto); font-size: .95rem; white-space: pre-wrap;
}

/* ---------- Rodapé ---------- */
.rodape { padding: 3rem clamp(1.1rem,5vw,3rem); border-top: 1px solid var(--linha); color: var(--texto-3); font-size: .82rem; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.rodape img { height: 20px; opacity: .8; }

.girando { width: 15px; height: 15px; border: 2px solid rgba(255,255,255,.3); border-top-color: #fff; border-radius: 99px; animation: gira .7s linear infinite; display: inline-block; }
@keyframes gira { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
  html,   *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .hero h1 .linha > span { transform: none; }
  .hero .lead, .hero-acoes, .metricas { opacity: 1; }
  .revela { opacity: 1; transform: none; }
}

@media (max-width: 640px) {
        .tela { height: 250px; }
}

/* =====================================================================
   Ajustes da rodada de revisão (bancas A, B e C)
   ===================================================================== */

/* input de arquivo acessível: existe para o teclado, invisível para o olho */
.so-leitor { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.solta { display: block; }
.solta:focus-visible { outline: none; border-color: var(--violeta); box-shadow: 0 0 0 3px var(--violeta-12); }

/* textos de apoio dentro do campo e do chat */
.campo-dica { font-size: .78rem; color: var(--texto-3); margin: -.15rem 0 .5rem; line-height: 1.45; }
.fala-ajuda { color: var(--texto-2); font-size: .88rem; }

/* estado de erro em grupos de opção e caixas de chip */
.opcoes.erro, .chips-box.erro { outline: 1px solid #ff6b5e; outline-offset: 4px; border-radius: 12px; }
.opcoes.erro .opc { border-color: rgba(255,107,94,.55); }

/* miniatura do arquivo enviado */
.arq .mini-prev { display: grid; place-items: center; font-size: .6rem; color: var(--texto-3); font-family: var(--mono); }

/* foco visível em tudo que é operável */
a:focus-visible, button:focus-visible, .opc:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--violeta-claro); outline-offset: 3px; border-radius: 8px;
}

/* prévia como etiqueta honesta */
.tag-sim { font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-3); }

/* o teclado virtual do celular não pode mais cobrir o botão */
@media (max-width: 640px) {
        .projeto { --h: 250px; }
  .metricas { gap: 1.4rem; }
}

/* grão mais discreto: custava caro e rendia pouco */
.grao { opacity: .14; }

/* transição de saída entre etapas */

/* =====================================================================
   Rodada de refino — tipografia, capítulos, cortes e a Planta
   ===================================================================== */

/* ---- régua vertical ---- */
:root { --p1: .5rem; --p2: 1rem; --p3: 1.75rem; --p4: 3rem; --p5: 5rem; --p6: 8rem; }

/* Space Grotesk só existe em 500 e 700 — pedir 400 fazia o navegador sintetizar */
.secao h2, .final h2, .metricas div b, .passo b, .pl-hero h5 { font-weight: 500; }

/* ---- abertura: uma coreografia, não quatro entradas ---- */
.hero h1 .linha > span { animation: sobeLinha .95s var(--ease) 1.2s forwards; }
.hero h1 .linha:nth-child(2) > span { animation-delay: 1.29s; }
.hero h1 .linha:nth-child(3) > span { animation-delay: 1.38s; }
html.fontes .hero h1 .linha > span { animation-delay: .12s; }
html.fontes .hero h1 .linha:nth-child(2) > span { animation-delay: .21s; }
html.fontes .hero h1 .linha:nth-child(3) > span { animation-delay: .30s; }

@keyframes assenta { from { opacity: 0; transform: translateY(var(--sobe, 16px)); } to { opacity: 1; transform: none; } }
.selo             { opacity: 0; animation: assenta .7s var(--ease) .02s forwards; --sobe: 6px; }
.hero .lead       { opacity: 0; animation: assenta .8s var(--ease) .50s forwards; --sobe: 20px; }
.hero .campo-dica { opacity: 0; animation: assenta .8s var(--ease) .58s forwards; --sobe: 16px; }
.hero-acoes       { opacity: 0; animation: assenta .8s var(--ease) .64s forwards; --sobe: 12px; }
.metricas         { opacity: 0; animation: assenta .8s var(--ease) .76s forwards; --sobe: 8px; }
.seta             { opacity: 0; animation: assenta .8s var(--ease) .94s forwards; --sobe: 4px; }

/* o brilho passa uma vez sobre "aqui." e descansa */
.brilho {
  background: linear-gradient(100deg, var(--violeta-claro), var(--violeta) 38%, #fff 62%, var(--violeta-claro));
  background-size: 220% auto; background-position: 125% center;
  /* o atalho `background` acima zera o clip herdado da regra anterior — sem
     repetir estas três linhas a palavra "aqui." vira uma barra roxa sólida */
  -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: varre 1.5s var(--ease) 1.05s 1 forwards;
}
@keyframes varre { to { background-position: 22% center; } }
.selo .ponto { animation: none; }

/* ---- tipografia ---- */
.hero h1 { font-weight: 700; font-size: clamp(2.9rem, 10.5vw, 8rem); line-height: .88; letter-spacing: -.018em; margin: 0 0 var(--p3); }
.hero .lead { font-size: clamp(1.05rem, 1.9vw, 1.28rem); line-height: 1.42; max-width: 44ch; margin: 0 0 var(--p3); }
.metricas { margin-top: var(--p4); gap: clamp(1.4rem, 4vw, 3rem); }
.metricas div b { font-size: clamp(1.45rem, 3.2vw, 2.1rem); line-height: 1.1; font-variant-numeric: tabular-nums; }
.metricas div span { line-height: 1.35; }
.secao { padding-block: var(--p6); }
.secao-cab { margin-bottom: var(--p4); }
.kicker { margin-bottom: .45rem; display: block; }
.secao h2 { line-height: 1.02; letter-spacing: -.03em; max-width: 18ch; margin: 0 0 var(--p2); }
.secao .sub { line-height: 1.5; max-width: 54ch; }
.passo { padding: var(--p3); }
.passo h4 { font-size: 1rem; letter-spacing: -.01em; }
.passo p { line-height: 1.5; }
.campo + .campo { margin-top: 1.15rem; }

/* ---- prévias: luz que segue o ponteiro, sem tilt ---- */
.projetos { perspective: none; }
.projeto { position: relative; transform-style: flat; transition: border-color .4s var(--ease), box-shadow .5s var(--ease); }
.projeto::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none; opacity: 0;
  transition: opacity .4s var(--ease);
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(255,255,255,.085), transparent 62%);
}
@media (pointer: fine) { .projeto:hover::after { opacity: 1; } }

/* ---- botão sem o brilho de template ---- */
.btn-primario { box-shadow: inset 0 1px 0 rgba(255,255,255,.20), 0 6px 18px rgba(0,0,0,.45); }
.btn-primario:hover { transform: translateY(-1px); box-shadow: inset 0 1px 0 rgba(255,255,255,.26), 0 10px 26px rgba(0,0,0,.55); }


/* ---- fim: o elogio respira ---- */
.final .elogio {
  text-align: left; border-left: 2px solid var(--violeta); padding: .2rem 0 .2rem 1.15rem;
  margin: 1.8rem auto; max-width: 54ch; color: var(--texto); font-size: 1rem; line-height: 1.55;
  white-space: normal;
}
.final .elogio p { margin: 0 0 1rem; animation: assenta .65s var(--ease) both; --sobe: 10px; }
.final .elogio p:last-child { margin-bottom: 0; }
.final .selo-ok path { stroke-dasharray: 26; stroke-dashoffset: 26; animation: risca .5s var(--ease) .36s forwards; }
@keyframes risca { to { stroke-dashoffset: 0; } }

/* ---- foco do histórico legível ---- */
.solta:focus-within { border-color: var(--violeta); box-shadow: 0 0 0 3px var(--violeta-12); }

/* ---------------------------- A PLANTA ---------------------------- */
.planta { display: none; --pl-1: var(--sensacao); --pl-2: var(--sensacao-claro); }
@media (min-width: 1100px) {
      .planta { display: block; position: sticky; top: 5.5rem; }
}
.planta.no-chat { display: block; margin: 1rem auto 0; max-width: 520px; }
.planta { border: 1px solid var(--linha); border-radius: var(--r); background: rgba(18,17,28,.6); backdrop-filter: blur(18px); overflow: hidden; }
.planta-cab {
  display: flex; justify-content: space-between; align-items: center; gap: .5rem;
  padding: .7rem .9rem; border-bottom: 1px solid var(--linha);
  font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-3);
}
.planta-cab i { font-style: normal; letter-spacing: .1em; color: var(--pl-1); }
.planta-tela { padding: .6rem; display: grid; gap: .45rem; font-size: 9px; line-height: 1.35; }
.planta-tela > * {
  opacity: 0; transform: translateY(7px);
  transition: opacity .5s var(--ease), transform .5s var(--ease);
  border: 1px solid var(--linha); border-radius: 8px; padding: .55rem .6rem; background: rgba(255,255,255,.02);
}
.planta-tela > *:not(.on) { display: none; }
.planta-tela > .on { opacity: 1; transform: none; animation: assenta .5s var(--ease) both; --sobe: 8px; }
.planta-tela:empty, .planta-tela:not(:has(.on)) { padding: 0; }
.pl-nav { display: flex; align-items: center; gap: .4rem; }
.pl-nav b { font-family: var(--display); font-weight: 500; font-size: 11px; color: var(--pl-1); letter-spacing: -.01em; }
.pl-nav b img { height: 13px; width: auto; display: block; }
.pl-nav span { display: flex; gap: .4rem; margin-left: auto; color: var(--texto-3); overflow: hidden; }
.pl-nav i { font-style: normal; white-space: nowrap; }
.pl-hero h5 { margin: 0 0 .25rem; font-family: var(--display); font-size: 12px; line-height: 1.18; letter-spacing: -.01em; }
.pl-hero p { margin: 0 0 .5rem; color: var(--texto-3); }
.pl-cta { display: inline-block; padding: .24rem .55rem; border-radius: 99px; background: var(--pl-1); color: #0a0913; font-weight: 700; }
.pl-num { display: flex; gap: .4rem; color: var(--texto-2); }
.pl-num span { flex: 1; text-align: center; font-variant-numeric: tabular-nums; }
.pl-grade { display: grid; grid-template-columns: 1fr 1fr; gap: .35rem; color: var(--texto-3); }
.pl-grade span { background: rgba(255,255,255,.03); border-radius: 5px; padding: .42rem .45rem; }
.pl-rodape { text-align: center; color: var(--texto-3); }
.planta-nota { margin: 0; padding: .55rem .9rem .75rem; border-top: 1px solid var(--linha); font-size: .66rem; color: var(--texto-3); line-height: 1.4; }

@media (prefers-reduced-motion: reduce) {
  .planta-tela > * { transition: none; }
  .final .selo-ok path { stroke-dashoffset: 0; }
  .selo, .hero .lead, .hero-acoes, .metricas, .seta, .hero .campo-dica, .final .elogio p, }


/* =====================================================================
   Marca embutida — o logo não depende mais de arquivo no servidor
   (a hospedagem estava bloqueando .png com 403)
   ===================================================================== */
.marca-h {
  display: inline-block; width: 96px; height: 39px;
  background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQQAAABpCAYAAADcFV06AAAgQklEQVR42u19e5xcVZXu9+19zqmq7oSXPAQComZU0jwFRMcHiMzgYxR1put30bl3nDu/IToOhqTTBkad6vKBhLx46HjhOqMzKkq3iN479ypcERhf4zDKQzo8JCgIAXmYkKS76jz2XvePc06oFN1dp7o76U7Y3++3KVJd55x99t7r22utvfbagIODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODw14M7osvJRBW+6H6+4HR0ee/48aNkJERmlqtpoAh1OsQgOKGg4MjhH2DAjjcDzW6BByqw3Aawl2riQKgANh6ndYNDQdHCHsZUiG+VdXrb05av9+wTA6wpfgVmjzKWjlaFA9VsJ4FrK9UEMfmRwNry9evXSFH6TJeZBu4f2ADGzvpRYRDQ9DTJRcHh70V3t5KBH0bwWqdBoCt1SQ4oBm/lsI/Avgmi/hVmvrQIFAp42W0Zy2woAd4eot9JYDrlRdfGWj/3KYXP3z5RcldirhNoG8kuRFAUgcwPCy6WoV1JoWDI4T5ZhiIcKQKlREBNny0eaxS+r9J07xHKf+VgQ8YCySJhrExGs3EZHyQC3OiGXiK/HH27+OtAbX2jgl8HkPi3GaUxFdclPyYov/5me34ZrXKHQAw3C+6OpI+18HBmQxzjFaBXD8YvppKDRB4b7nklaMEiONICBghCIEi+bx3E4iplALdaIbv8JqlH5ly/BSVCsQaKxlpkEqXfA9UQBQnmwj+QxQ/dfXgusPHMlOCzsfg4AhhHpBBbWD7oQf65b8HeH7J134zTCBiEwAKpOqkXwCKJIyS6JgY/tFl3/9xGIVCKu6ihwAWAvheoH0fCMPkAQNbH1hdutZpCw77MtR8NxFqNVHVEZoNg/G7D/TL/1EOvA9ba/3xZmgEVkB6nckgpQOtPVgrTy+7rPcxZc3JngcQ7YJNEtQkdZJEdrwRGqW9V1SC4GtXrDLfWTPQeGl1hGa4X7QbPg6OEPYQajVRJKVep12/Kr7ED7wbFL2XjDWiBBAhlQZYWMMhYT0NELIJgID6ZJGOFylS6SSObCOMTBCodwW+/x/rB8JqdYQmXeUQumHk4AhhN5NBvU5bq0l5w6popKfsXRzFsUmSyJL0uiGCVgeCVoCF/DIT9iXWAsICZhOpCOpGM0oAHlwqB9dtGIw/mdZxiOJIwWEfgTefyeCARvydnor/xzvGo4SENx0eeI4P0nVDUt2RmhB2cWIACFRhTwrpGZNYYyk9Ff8TGwbjRcvr3l+hBsqQgHRLkw57N+bVzCYQQoD1K1D2SuaGUqDPGWtGMUF/FhwSthQEysTx6VGSPK794BERAWCle41DBGDSW/H9HY34awOXBX/e3y96ZMTFKzg4k2G26IAj/dls7cfXlUv6nLFGUTIQgYidrIiIITXCOB6Xhn8ftDqx5GtAbALBpNcKJvMykAD8HY04XlDx3792sHFFujcCujtaESUieg8WLytKZN82c7psFzWL/aT25nabNyZDrQZdrTNZuzK8YmEleOeORhSTxTQDUtPz9KTeALFAKQB2NMzWZVdx27pV0UlKQUjleb6XRiBwV7XJCmCNhZHEUMCJVjII+GONOF5QKX9k7crGfSvr/EI3S5Lk3MYziIgGIHNdj92i+nL2loX3xfaZ14SQhgczWbcy/PNKJfjIWCNOimoGpKKIacRx8iCg7MS6BwxiXSLwPQCAxfEkKJDNcZw8icxUafm9QLAfFQ8pB8FCESCMIkNSTyBUXiNMjO97l1+xIvz36nrekZoPkw9IEVEkrYh8BMBbAIQAdscypmRaYATgKQBPAHgYwJ0AfkUyzIlhNgVoHmgHCsDfAVgEwExhGlsAAYBbSV6b98sE/fQhAG/t0E82k6eHSA44Qpi2ZiCqWoVd87HGSz2jropjYyGiipj1IrDlkqebsblwxaXeNRmxmMlMEqAkgFAQ9jXDeAyef+qKS/i4QNi+ienq8//Tbxx4yuFhaM4A7fKecnByI4xN+4AgSWstfC8IIh3/4xUXPPC63x+EOH3epP6E/OXeBOBdc+KuAR4Qkf8F4GqSm9qFYS8lAmaOXQL4KwDHFLy0DODaCYgj//fru+inTQAG2urjfAhF0bcRBCgM8Tnf9w5ITCJFAo1S7YA6DBNr4sZPAGB0FDKVBAiEl1y07SCt9OLEyF0rLuHjmIAMAGDpNafGF67mIyvWeF/p3Xr36Y0ourIU+DqbcdpVSh1GUdLT45+clI/+SL1OO9xfqG3HsvtF2efuLElW8hnzlQAGAfxCRJZlM6Heh3wLW7P3jVrevb00s88dBfspnKJ94+zzWedUnImpMEKzflXz3Eq5/PZGMzJpwFEhNyK08mHFPG3Vgod31QTaCzjSD0VQyqb8kt6KV1JU96SRkPmM//zrskhJ7/yrT0lWrC4tC8P4q+WSr0XETDDn6zA0Vil10ZqB7YdWR2CzHAud2l/voeJlRWf8aDNh2A/A5SLyicxs2FcIofWdO5XZ7ifnQ5iGgsfR0SG5+nzxt5v4U+JBulr8I6znQSeWv1p1Gbdn6tmkKu/okp0Dvc/3BIZyJ0mp1XLl4PlaQlafBBBVqwn9EBeGYXyOp71DjElsqyZDkMYY01MJDho3cgHAT/T1zVuPM7OiMmKwAD4pIt8n+dOZ+hQyG54t5CItpUi92GKXy55Uu9s0JE5HY2q5hiLFqj5fTIs5G7C1GnS9XrdjB4Tn9pT948MotgALsysFohRA4X0AMDRUkJmpjrdC0CYbM5OlY0dkuxvVBZfyGQMZKQUqH6ztXgodRlag+MF1y+WgapUG818Fbx0DF86EBLIlTZK0JA3JJCsm+046lPbrLElpuffuHq/t9UkyQbXTvEeRd5b55GeYS6eizTwBH0q3Hsv0tFWFu7p6HuzJ28eMeKxsAoD+YdiijxUI1yP6oQj+ZqJoJoJMTGJ6KsHBDYn/DMA1wyNQ1Qn8DvNQvQaAN4pIL8mxog6xtqXLrE/lSACLARwP4Gik3v4XZcWfwubfAuB3AB4D8BCA+wE8SHJLy71VNqPa3UCKp4jIF9s0Fsnqjw7mQH6PV4nIXW3XT4XcUX0dyUvm2rk7J4SQhyevuTg8Tll1RhglILvWVlSSAABHAaCvb6qGF9brtFdcIKVE4j5rzOblPXrzMhSPUezrgxCUdTbeaizAydiLgLUQgfxXANf098PONolO0zwogoMBvATAxk6DOVOLmZsWInIiUk/8WwEcl/kmZgObMwH7LoDvknywhRhma3bN22c/ACcU+N1UKHe4x2T4WRfP2OdMBpVKtLy7UvI0xJruwodFlPJUHEeNEMlDwNQrDLVa2si2p3l44OsXg7yL6X4JVTTUOM3eLKSyh2k9uXAS1FGcUFG95nMXyeLMT6Fmsd26LSwoEJLN3gs7DcxsFpNsZeItIvJ/APwcwCcB/GEmWIJdVzZMi79iojLRaogAOALA2wBcCeAuERkWkde1mhOzOC6Tlrq01q1b0rFdlCj7DF+wPoShoVyF5jmm6I7DNt1dawUhH335Q+Xfpnb+lJ2mRIQK3vELexVF5OFs9aHw+6caCMUKX99xNFhrymUviEx89iy2c5ip0d2UX0/Hju7kK8iI4EAR+RKA7wN4e6b2tgoysevKhu5AXBOthuRElRNFD4B+AD8RkS+IyH5ZXWZrHHMGpLoniHvfI4Q8z8HqwbEjSJ4Yx7bregggWgME7n0uL8HkM31fX6paJkbOS52+PCT7fSEVXEQ4Ogq5dJXsrxTeGUUW0mF5KXMunzUDVb/VxgSAewD0dVFOyD7fi3S9XTqQAJGupe+YjBhayGARgFsAfKBlRkWbIGMWhTQnCmkhnA8CuEVEFs0yKbygsccbMQ1EAnwJlgS+v9DaxLLL3YYEJE16Jvd2eo9aTbxqlWbNQHSa7+s/3TZmhcQfrhmQ3txR2FmjGfXrdVrfhhdUSv6LE5OYiXI2ttSPxgAWcvIVF0gpXaWY8WqDIdnsooyRbJC8AWm4MgsQ01YAj05ECPlSmogcCuBGACdmBKKw59be2UI4MYBXA7hRRA7DtL3SDnNKCDvjAWiOn8oWn3L2JWgFEIu7p3Io3lITr15ncun5sr/n8YtUKkiSJCmX/CPI+AP1Ou1QDf5UT7r6avHr9eOidcvHXut73t+FzcSikwOUYGIMNLnI9OLIVj/GTBzAIrJARBYWLPtnn38J4GVZO6sONu/dJLflPoL2t8q8318AsCQTyG62pdsWkyK3y6VFw0i6HAt+VoclAL7UErI8EwgmjkKUWbhHpzIvwsbnbNmR5Mun23sEVRQbWEl+VauJ2vJ9qFotVdL7NoKjS8ChIRiSydoVcrD2kxtKvndCoxlZEF4cG+t76tNrBsLbBuu85+rzxd98+K0CnGkzgiEAVKs0S5ciXjMQne776lsAK0aStqSsE7+dWGODIChHYfIyAA/lmtE0kM++x+E57383WFTEN5CRxVda/r91k48maUTknZkJknRBBrbNrp5o1p/s90VIIQHwNhGpkhyeoengzYK2wy7vkf+25wVJCHkgkLU4PLPnu+Vw63m+ipPo8R0Leu7Igoaex671Orh2sPluXyeXeZ73B40wMlRp4JMxRjzfP8D38d21g40PLF3Dmyd61OrBpxaWuf9SKPVJKF2J4lBURzLYyQlWKSgwWQzg++gHMDKjpgsAHDXNWW+qpcd8HfxGAN/IhD+ZxNG4skvVvFUr+VXmgPw50g1A27LvD0K6CenVAM4EcOwE13YSQAFwkYh8C1PvbuzkSH0KwL9mz87bzAA4GWk8xVTvnv9tG4DbuvQR+QBuL0jc+xYh7AwEohyc5jQUdrPIIBBaMaKUKu0/lpx15cXNR2JLnwIrhEfIIoo6QcD3BL53mrVAs33rMqniOLa+FyzylNx0+SrzdSv227Teg8aLtTayGNp7nVg51y/pY8LIQOLIKqris48IlAIE6sXAxIfOTgPTUStVAYGKAVzbsh16Z3BMiyPxVUiXFFFwBswF+kEAfw/gBpLNDs7bAOmKxWcyU6AIKeR7M04CcFoWeq2m2a6/JPnOCer1hcyJaaaQmZwQNpGc9g7Wud5xuscJIbdNSdUrANLkI11dT2MMSkFwUKkHNyaJh4At0yDT5CZJAkRRZLNr9PPvA8ZJFJPK33+Bej+Ven8Up1qoImAMEMaCRjMyIBQL7cB8vqQR2H+e+3zyJa9/FpEqgA+R/G0LKeTmwxuz8ZIUGDf5dbcD+BOST+amByYOeGLWTxGAb4vIDwDcgHSVpggp5IJ6FoCfzqCdlOy6+UC3zODd3EO1aS/FXGPzIIR5Ljc3TYsJRUR8TzOM4tEoltsg0FlCEyF4IMhjSZ6olYakjawnuImlUqpS9vxGI0qe3ZHcLiIPkDImgkNJLlFKL/G0QhqVOL3srjatwH6tptI8RT5w3wHgNhE5m+RDeTRg9puTuzRRtgLoJ/mkiPgAkiIbpkTEzxyb5wH4JYBDCpgp+d9OmoEm9bwZOt+XIUV3KLXdY2/MhzCHhMBpsriI1ppJLCtWrAluav9rrXaLd+D4mWcIk9XlUnBKM9zVXBBrbVAqKZMkzWYz+oLy8E8Xfta/p/UewzUJHm3iDcaYiyql4I+aYZQNyGlkf5e9ZiksNx1eCuBaEXkjdt2D8bJJnICTzdbfJPmwiHgk4y6EKc5I4UkR+RqA5QW1EmR1n3M7fG/GHieEnDUFMk6k6cq68CCIUp4KwygSL3ioVhMPGFVAX8bqtyI7Gv7mNQOPnyHyouvLpeCcZjOyVEqJtbZcKqnEmNGE8hcrV5d+3kokwJno64NUq4wA/ADAD9YNRh8v+cGnIhMbSHceaEWAlG3ALtuvp910mJ2lqami4nKv/ekAziP5L5ldb/BcSHMRYgGA22eQbEWya3+aEQILPnOhI4S9jBCGhlL1lBZbutYRBKI9zdiazQjxWP1SJhOlKjv/fPEH13Fs3fKt7wN67/R8vShJTBKUAi9Oko1x0jxrcN3CJ9PlRph6nTYjkp3m3PAwFEaA6hp+et1g7PWU/dp4I7JUxWstAJRg6yzO4HsiACg3H/5aRL7SoiV0S0ZJttdgWoSQXTteUCvBTE2FgoRTtNsdIRRFvh5PxSfSfAYorFQL09OXYuBXAxvYyHdNtv/ummsYX32++Es38PfrPtpc3+OXNlhjIdY0YOx5g+sWPnlLTbw31ydTZSnVKkxKDKL7+1Hf8NHobaWS/5oojk2RvA0C0KYLYI/NgmZAANsB3IHpB99I1t+nZZrAZHZ5rkGcAuAIko+1fN+NQCycgYaQJyYpdylkuyvQrpu0aL0iUspXbAqoQnl8hnlBOhVz1Vlof93t5MHsODaBHW0ZABPOCpsPhxEI1yv8a6MZf6an4veMNZLPD6wt3V1LySAp8sTRUWG1Slk3GK5VisNiC8QlpV2tjAWUqAdn6FS0mWZwL8kzZsFkOxdpRITXQUOoII0JeGwaQgEAp2ez/LTeO7v2xIKEkP996zRm9CKaQaMLzeoYAEeLyKbsO9OehamlmNY8EvMBc7GXIQ9MuseY7uogSEOWyV2dgBOhXk/zFyDEYyKyPYqNgPYfs84p3AH5zsymF97aaEZbtBeozoNcRCmfcRKPxcZ7MCPCeaFKkvwO0kQkUy2J5WbCES3f/aagcOZxAe8QkaOyCEe/C8LyAFgRKQH4L12O04dnmRC6mTjzceUD+Ns8+1PuM5skK5SIyFEi8j4ROUBEONdJbudCQxAA8FTp7iiKx6l0j4gpepyaShJAWVs4/dmC/TZzrHHwgii2m44+LdiYPUWKC1Cqz3zss3h6/WD8kKd5ijUdlsEE4vuKYWwe2L4Qj+UJWmbaVyJywCw4Ez8E4FAUW99vTXLyyy5mVZNd+yUReRfJ8Wyg60lIJW9Lk0dJisgVAP4Az0VSFtEQ7thNE91Ywd/prF0vEJHfAfg8yWdbiK4XabTpKwG8Fqnz9gSksSrLSV6e/S6ZK0LY4xpCvvPvwtX4raXd6HsaEBRJ1SVa+0yS6NkY0a9TchnqmBRl+/YXLQp8v1cRd1SrNGl69G5sNUp6L4qQ42T7sS4Tq/k6DYP4t/Tg2hk5A/NrT0Sa32C6ZRPSHAmfmmbf/6jFfJGCgvEWpFuUz2rJUZjnWGwtScuMeZKIXA9gacvzirSRALh5NzkXt05Dpj4DYKOI/FhEfgbgrqwP7gTwTaRh4G/MyMAA+LCIVCYwMfZtDSETVl2vM1ES3uhpnBoVmK0IiKfJ0PLhsZ7eJ1NyqdsOHWOh8YoFPcQzz6azR/fLf+ns3t8vGogPFCkSXUmVGJDW/l+gU3q3rojhgFm4j+2CDLa1zG6jSCMPX1NQUHP/zmsA3Cwi/wngxwDuRbrFOrfLSwCOzGbN05EeiqK6qKfJfncn0jMmuBsI4ZkuTZG8Dke0mV2tdc61zPwdFwP4U5JfnUstYa4CkywAWIXrm2FyMVjIa59lWZb704NQip2hSKrjrQXI1MzArd064VKz4Q0vxeGJ4GVxYjAlHYhYz/NVFMW/gSn/EACq1VkboLNBLKog+QDA5vwakomIbADwDXTn9c83Cp2aFRQUct1FmxDAZVkdZ1Przd/z0WloVXmUp21zJmKSdxMAF4rItZjDpLxzkmWmXqcVEa5cXbrDWPvvpcCHQEwnDSHdLMR7isz0O2dlsSeFEWBZSpOpnNmdcI6MpG1kEL2lp+z3WGs65X+0gU+Q8tWBDWwMD4uexSPiOQulqICNI91uDQC5oI0g3bHoIY1q7MZ30ZoPYbKTpfKZsygZxFldvgvgut2QsTjvt4ey9uhmb0LeX63p4ybrg9zkOQXAWzPTSb9gCKFV0BRwJQkWOMKDJgEUma0wTDnVMz3jUQiovvFmtHXh71OWrw8V79A8m1J//7AW4QXGSgfXpwiV0o0wHlM0/xOYOvnrPEWevOQnAB5vEzJBmjbtUTyXoKSbsdaaX3Gik6V0F6SVJ2i5H8B/3x0Nke1jIIDHkW7fnq1o0anIZ/ksaoN7DyH0V9OjzlQz+HajGY8GfqAwpZZAHcaxAF6WNu1MO4UDEgDw2YuePYDkKwF179JrOF6DKBQO/hAO1Ub9apXm9Je+e1ml7J8SRh2CkgSmUvJorXz5wtU9jwz3i56F1YW5IAMCWNOahSgjBWaBSm/NHGQ+ppdVaCZCk48RH8AvAPwxySemMXsX9t1km7K+txufkWsJBsAZInJqftbmC4YQCEpfH7jsKoYQW9ManHR1X8Rq7QHA41sbaaDM0BQz/Ug1fa+S6Xl5b8XzCHt36s3s9L7PnedYq4H1+nHR2sHmu3ylV4dRYqY+O0JEK60aYfxsguQSgXC+xB4UELJcnc9n8bUkb8q0A9M2Y2qSo0hzI3yjZYZnm9o/m3XLSYct6vXnAJxJ8pHdfLhJriX8j8xs0LPg8BPsmmotTx+nMqL7zFytNMxpptpqlaa/X/TA2tK3Gs3o/1XKwYQHqQohniYAPFC/CtuH+0WD6UapicqWs9O060K1uFyCkLxDRHjEEeBk16QdkAaP1OtM6nXaDRclKwLP+6YVq621airfgQhMqaSVWNRXrendPNIPVUA7aD2HYC5K7vDLiWAcwMdIDuYnMk2gRptMAJ8keR7SMxNuzO7Vrva3n7PQzSnVrXXLSWcbgH8B8BqSF5DcPgUZmC7bYVKzIXOq/gbAh/Fcenlpu8dk79H+m9YMVq3mkkIanv5DAP+GKaJwdye8uZ6elixJzzvQkA/HcXKH1rpsbVugkqQ7ByH4PUCpjmRq4+QcGi9dCqwbbJwSxZpWcF+m/sZLl05el1pN1MLtOJJ+9GZafKjk69c2oxhi03CzKUwUUy4F3lgz+em2Hv+q/n7R1ZFCnbkfnjuHYK6QALgPwE0Avkjy3iy6zhSwrUnyewC+JyInZeRwNtIj3A7BzDdjWaTRh3dkjsObSD6StbkGYKfQDA4q0K753xd28CWYTDP6sog8jTQD1Gkz6LcEwNMAHkEaI/ILpIFfd5J8fC7lcV7s1R8eFp2mSm/8zYLe8ucbjSgB6bV1CqzYkKJuF9omBIqTuiKZBjJRnyqQHhuPHY6gcmSgvfVRkkwo2QIQwsNIHlUOvP2sAGEU2pQIpiIDK57WQnLMJMlpy9eU759s01ULgeRpyd6LNKnHnjyGnUhjALYg3adwP4Bft0QIdnXyc4tgSst3BwF4OdLYgiORRucdkglpqUUYW30C25AGAP0OwG+RhkrfD+BhkuNtz5OpTIRsReSDAA5r0TQmIxwPwO0k/3cn06MttdzJWd+9LHuvA5FuxsqftwXpqUxj2Xs9k5UnkC7nPkNy6wTPYKaRmBcsIeTbjatVmnUro2t7e/3zxsaihKqdFBQCTxeqtUj6s2YUbRpYU1q87qPNi1+0X+mS7ePAZJkRrQWMtTA2MVmueN3pKQRNqeR7483ofSvXlL5eND5i3jkSCghah+vzXXt2tu35ltRrdq5zDnZLmF28m7QT61zAmx/DkdLfL7ZWE2V34K8bzWRxTyU4bbyxKymIWISxMYVaTGAqpcCn4gMC4QbGxzVCmCiODDixKksBhSALHksvYNJT8f2xHdFnVq4rfb1WE69aaBfl84RoLh2KkhHBjAZ52+nPxK5ReNL22Wly4kzr1iJohUyTokSTb1ia5P2KTLqt7yVzpQnMS6diW0MLAAyu45iNvPeEUXJfuRx4ItImYNQsVKCUAq3wbqZZF44zFpqAN9k1IFXR/IkCxAsqvj8+Hn95YF3p47WaePV6dxFm2c63ZA6LyQ9Nne2+bHs30/KsyUr73oYZ1a1tj0SnYmfp/cwU+zR2a5vvYybDro69ep127Yrxo/zAv9H3vWMbjTChUl6XU0RSqQReGJnqlpL+zsLx6Clf+/slJp7SQdiZCEQoML09gTfWiL/6bMX/i40bwZER2FmMSHRwcISw08mY2eGXfnRsUYXBt0ol77TxRpRIGiRS2IOglGYSxccKoYLAHzUmEWAGZCDWkoo9ZZ+NZnTV8suCZXnsxN6WXdfBYV6bDK2ojtD09w/riy7rfbT51Na3NMPk65VK4GmtKWJNETrQyqMxybPbF/70QSqeGPgKMu11XRERSUp+SXlaxY1mvGz5ZaWPSJ6L2ZGBgyOE3YuRkaqp1USt+qdDtl+42n9fGMUfJvFsT7mkRaxMFMDUaptrTYDcVK+/OSHw6vSwqG4j6ERErCE1eyuBZ8T8Mkmis5dfFlw5PJwGR9GZCQ6OEPYM8l2RtZqoCy8N/sEmyenN2Fzv+yVmUY0iYs3zUpqJiJeuE9wLCAkcZ7s5kVDEQiQhNXsqJU1iRzNKPh1F+nUr1vT8MD9i3pGBw74Gb75XMFPHJQteuh/An61fFZ8lRg142nt7ECgdRUBiI5NpAArMtkWIvStdTAyPNWnQqJqIFDJHoSA9bEkHfqB8D6oZmR3NMLnOo7nsgkvLDwA7nZ6JGzoO+yK4N1W2VkuTX+RRgGtXRW9Qwr8E5E9KgX+oUumZjnESoxT4EsbJ2Wzu+IWUejaDKoC1sisRgASotK88TXgaCGNArLlXEddJEn912drKJiCPpnQrCQ6OEOYdhvtFjy6B7CSGFdsO1l7lTRZyDgSv14ovB3U5jscO05533IELyzc3munb5hnUJftPbABjky1icR+VuoWivrtxC352zTXpmQ3tz3JwcIQwjzWGvo3grqHCwss/jsVJHB+2cnXwo7UXN1/lQ68yFoFYuz/JLRCEAnlC62CTSLzJL/sP/G2dT7Td2wNgHRE4OOxlEElPWMqEeNrcWKuJN9wvGhC6VnVwGsK+QQ+s1cBccxARDg1B9/VBsnRmu6ys9G2E9A/DulgCBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHB4e9HP8fzOr0YixKBkUAAAAASUVORK5CYII=") no-repeat center / contain;
}
.marca-m {
  display: block; width: 20px; height: 20px;
  background: url("data:image/png;base64,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") no-repeat center / contain;
}
.topo .marca-h { width: 92px; height: 37px; }
.rodape .marca-h { width: 84px; height: 34px; opacity: .8; }
.eco-marca .marca-m { width: 22px; height: 22px; }

/* =====================================================================
   O PALCO · formato QUIZ
   Uma pergunta por tela, sobre a cena. Substitui por completo o
   quiz em formato de chat: não há mais transcrição nem balões.
   ===================================================================== */

html.travado, html.travado body { overflow: hidden; }

.palco {
  position: fixed; inset: 0; z-index: 90;
  display: flex; flex-direction: column;
  background:
    radial-gradient(120% 90% at 50% -10%, var(--sensacao-12), transparent 62%),
    rgba(6, 6, 10, .90);
  -webkit-backdrop-filter: blur(28px); backdrop-filter: blur(28px);
  opacity: 0; transform: scale(.988);
  transition: opacity .34s var(--ease), transform .34s var(--ease);
}
.palco.on { opacity: 1; transform: none; }
.palco[hidden] { display: none; }

/* ---- topo ---- */
.palco-topo {
  display: flex; align-items: center; gap: .9rem;
  padding: .85rem clamp(1rem, 4vw, 2.2rem);
  border-bottom: 1px solid var(--linha);
}
.palco-topo .marca-h { width: 78px; height: 32px; flex: none; }
.palco-cap { flex: 1; min-width: 0; line-height: 1.25; }
.palco-cap b {
  display: block; font-size: .84rem; font-weight: 600; letter-spacing: -.01em;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.palco-cap span { display: block; font-size: .68rem; color: var(--texto-3); letter-spacing: .04em; }
.palco-topo .som-btn { flex: none; }
.sair-btn {
  width: 34px; height: 34px; flex: none; border-radius: 99px;
  border: 1px solid var(--linha); background: rgba(255,255,255,.04);
  color: var(--texto-2); cursor: pointer; display: grid; place-items: center; transition: .2s;
}
.sair-btn:hover { border-color: var(--linha-forte); color: var(--texto); }

/* ---- trilha por capítulo ---- */
.trilho { display: flex; gap: 3px; padding: 0 clamp(1rem, 4vw, 2.2rem); margin-top: .55rem; }
.trilho i {
  flex: 1; height: 3px; border-radius: 99px; overflow: hidden;
  background: rgba(255,255,255,.09);
}
.trilho i b { display: block; height: 100%; width: 0; border-radius: 99px;
  background: linear-gradient(90deg, var(--violeta-fundo), var(--violeta-claro));
  transition: width .55s var(--ease); }
.trilho i.atual b { box-shadow: 0 0 12px var(--violeta); }

/* ---- corpo rolável ---- */
.palco-corpo {
  flex: 1; overflow-y: auto; overscroll-behavior: contain;
  padding: clamp(1.6rem, 5vh, 3.4rem) clamp(1rem, 4vw, 2.2rem) 2rem;
  display: grid; align-content: safe center; justify-content: center;
  grid-template-columns: minmax(0, 760px);
  gap: 1.6rem;
}
.palco-corpo::-webkit-scrollbar { width: 7px; }
.palco-corpo::-webkit-scrollbar-thumb { background: rgba(255,255,255,.13); border-radius: 99px; }

.cartao { min-width: 0; }
.cartao.entra-frente { animation: entraDir .46s var(--ease) both; }
.cartao.entra-tras   { animation: entraEsq .46s var(--ease) both; }
@keyframes entraDir { from { opacity: 0; transform: translateX(34px); } to { opacity: 1; transform: none; } }
@keyframes entraEsq { from { opacity: 0; transform: translateX(-34px); } to { opacity: 1; transform: none; } }

/* ---- a pergunta ---- */
.pergunta { margin-bottom: clamp(1.4rem, 3.5vh, 2.2rem); }
.p-num {
  display: inline-block; font-family: var(--mono); font-size: .74rem;
  letter-spacing: .18em; text-transform: uppercase; color: var(--sensacao-claro);
  margin-bottom: .8rem;
}
.p-num i { font-style: normal; color: var(--texto-3); }
.p-entrada { margin: 0 0 .5rem; color: var(--texto-2); font-size: clamp(.95rem, 1.6vw, 1.08rem); line-height: 1.45; max-width: 46ch; }
.p-titulo {
  font-family: var(--display); font-weight: 500;
  font-size: clamp(1.65rem, 4.4vw, 2.85rem); line-height: 1.06; letter-spacing: -.03em;
  margin: 0; max-width: 20ch; outline: none;
}
.p-ajuda { margin: .9rem 0 0; color: var(--texto-3); font-size: .9rem; line-height: 1.5; max-width: 52ch; }
.p-ajuda b { color: var(--texto-2); font-weight: 600; }

/* ---- campos dentro do palco ---- */
.campos .campo + .campo { margin-top: 1.35rem; }
.campos .campo-rot { font-size: .84rem; color: var(--texto-2); }
.campos .inp { padding: .95rem 1.1rem; font-size: 1rem; border-radius: 14px; }
.campos textarea.inp { min-height: 84px; }
.campos .opcoes { gap: .55rem; }
.campos .opc { padding: .78rem 1.15rem; font-size: .92rem; line-height: 1.35; text-align: left; }
.campos .opc span { display: block; }

/* uma pergunta só, com uma resposta só: a caixa vira a própria frase */
.cartao[data-solo="1"] .campos .campo-rot { display: none; }
.cartao[data-solo="1"] .campos .inp {
  font-family: var(--display); font-weight: 500;
  font-size: clamp(1.35rem, 4vw, 2rem); letter-spacing: -.02em;
  padding: .4rem 0 .55rem; border: 0; border-bottom: 1px solid var(--linha-forte);
  border-radius: 0; background: transparent; caret-color: var(--violeta);
}
.cartao[data-solo="1"] .campos .inp:focus { box-shadow: none; background: transparent; border-bottom-color: var(--violeta); }
.cartao[data-solo="1"] .campos .inp::placeholder { color: var(--texto-3); font-weight: 500; }

/* ---- pé fixo ---- */
.palco-pe {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .9rem clamp(1rem, 4vw, 2.2rem);
  padding-bottom: calc(.9rem + env(safe-area-inset-bottom, 0px) + var(--teclado, 0px));
  border-top: 1px solid var(--linha); background: rgba(9, 8, 15, .72);
  transition: padding-bottom .2s;
}
.palco-pe .dica-tecla { text-align: center; flex: 1; }
.palco-pe .conta { font-style: normal; font-variant-numeric: tabular-nums; color: var(--texto-2); }
.btn-fantasma {
  background: none; border: 1px solid var(--linha); color: var(--texto-2);
  display: inline-flex; align-items: center; gap: .4rem;
}
.btn-fantasma:hover:not(:disabled) { border-color: var(--linha-forte); color: var(--texto); }
.btn-fantasma:disabled { opacity: .3; cursor: not-allowed; }
.palco-pe .btn { white-space: nowrap; }
.palco-pe .btn-primario { display: inline-flex; align-items: center; gap: .45rem; }

/* ---- tela de reação (o eco) ---- */
.eco-tela {
  min-height: min(46vh, 380px); display: flex; flex-direction: column;
  align-items: flex-start; justify-content: center; gap: 1.1rem;
}
.eco-marca {
  width: 46px; height: 46px; border-radius: 99px; display: grid; place-items: center;
  background: var(--sensacao-12); border: 1px solid var(--sensacao-24);
  box-shadow: 0 0 0 8px rgba(142,118,250,.06), 0 0 40px -8px var(--sensacao);
  animation: pulsaMarca 2.6s var(--ease) infinite;
}
@keyframes pulsaMarca { 0%,100% { box-shadow: 0 0 0 8px rgba(142,118,250,.06), 0 0 40px -10px var(--violeta); } 50% { box-shadow: 0 0 0 14px rgba(142,118,250,.03), 0 0 56px -6px var(--violeta); } }
.eco-txt {
  margin: 0; max-width: 34ch; outline: none;
  font-size: clamp(1.1rem, 2.6vw, 1.5rem); line-height: 1.42; color: var(--texto);
  border-left: 2px solid var(--sensacao); padding-left: 1.1rem;
  animation: assenta .6s var(--ease) both; --sobe: 12px;
}
.saud-txt {
  margin: 0; font-family: var(--display); font-weight: 500;
  font-size: clamp(2rem, 6vw, 3.4rem); letter-spacing: -.03em; line-height: 1.02; outline: none;
}
.saud-txt b { color: var(--violeta-claro); font-weight: 500; }
.eco-tela.saudacao .eco-txt { border: 0; padding-left: 0; color: var(--texto-2); max-width: 44ch; }
.voz-convite { margin-top: .6rem; }
.voz-convite p { margin: 0 0 .7rem; color: var(--texto-2); font-size: .95rem; }

/* ---- revisão ---- */
.resumo-grade { display: grid; gap: 0; border-top: 1px solid var(--linha); }
@media (min-width: 900px) { .resumo-grade { grid-template-columns: 1fr 1fr; column-gap: 2.2rem; } }
.resumo-grade .resumo-item { padding: .8rem 0; border-bottom: 1px solid var(--linha); font-size: .92rem; }
.resumo-grade .r-p { display: flex; align-items: center; gap: .3rem; color: var(--texto-3); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .3rem; }
.resumo-grade .r-v { white-space: pre-wrap; line-height: 1.5; }
.resumo-grade .editar { background: none; border: 0; color: var(--violeta-claro); cursor: pointer; font-size: .72rem; letter-spacing: 0; text-transform: none; padding: .45rem .6rem; margin: -.45rem 0 -.45rem auto; }
.resumo-grade .editar:hover { text-decoration: underline; }

/* ---- final dentro do palco ---- */
.palco .final { text-align: left; padding: clamp(1rem, 4vh, 2.5rem) 0; }
.palco .final .selo-ok { margin: 0 0 1.6rem; }
.palco .final h2 { font-family: var(--display); font-weight: 500; font-size: clamp(2rem, 6vw, 3.2rem); letter-spacing: -.03em; margin: 0 0 1rem; outline: none; }
.palco .final .elogio { margin: 1.6rem 0 0; }

/* ---- a planta acompanha o palco em telas largas ---- */
@media (min-width: 1240px) {
  .palco-corpo { grid-template-columns: minmax(0, 720px) 296px; }
  .palco .planta { display: block; position: sticky; top: 0; }
}

/* ---- celular ---- */
@media (max-width: 720px) {
  .palco-topo { padding: .7rem 1rem; gap: .6rem; }
  .palco-topo .marca-h { width: 62px; height: 26px; }
  .palco-corpo { padding-top: 1.6rem; }
  .p-titulo { max-width: none; }
  .palco-pe { gap: .5rem; }
  .palco-pe .dica-tecla { display: none; }
  .palco-pe .btn { flex: 1; justify-content: center; }
  .palco-pe .btn-fantasma { flex: 0 0 auto; }
}

/* ---- chamada final da página (substitui a antiga seção do chat) ---- */
.chamada { padding: var(--p6) clamp(1.1rem, 5vw, 3rem); text-align: center; }
.chamada h2 { font-family: var(--display); font-weight: 500; font-size: clamp(1.9rem, 5.4vw, 3.2rem); letter-spacing: -.03em; line-height: 1.04; margin: 0 auto var(--p2); max-width: 16ch; }
.chamada p { color: var(--texto-2); max-width: 52ch; margin: 0 auto var(--p3); line-height: 1.55; }
.chamada .btn-primario { font-size: 1rem; padding: .95rem 1.6rem; }
.chamada .selo { margin-bottom: var(--p2); }

@media (prefers-reduced-motion: reduce) {
  .cartao.entra-frente, .cartao.entra-tras, .eco-marca, .eco-txt { animation: none !important; }
  .palco { transition: none; }
}

/* =====================================================================
   Rodada das 3 bancas — correções sobre o palco
   ===================================================================== */

/* Opções longas ("Encantamento — quero que a pessoa diga 'uau'") não cabem
   numa pílula: viram linhas de largura total, com a palavra em destaque. */
.campos .opcoes.lista { display: grid; grid-template-columns: 1fr; gap: .5rem; }
@media (min-width: 860px) { .campos .opcoes.lista { grid-template-columns: 1fr 1fr; } }
.campos .opcoes.lista .opc {
  border-radius: 14px; padding: .85rem 1.05rem; width: 100%;
  display: grid; gap: .18rem; align-content: start;
}
.campos .opcoes.lista .opc b { font-weight: 600; font-size: .95rem; letter-spacing: -.01em; }
.campos .opcoes.lista .opc i { font-style: normal; font-size: .8rem; color: var(--texto-3); line-height: 1.4; }
.campos .opcoes.lista .opc.on i { color: rgba(255,255,255,.82); }

/* fechamento de capítulo: a tela de reação passa a valer alguma coisa */
.eco-cap {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--texto-3);
}
.eco-cap b { color: var(--sensacao-claro); font-weight: 600; letter-spacing: .12em; }

/* num monitor grande o palco pode ser palco */
@media (min-width: 1100px) { .p-titulo { font-size: clamp(2.4rem, 3.6vw, 3.6rem); } }

/* a planta acompanha a partir de 1100px (antes só 1240 — e a regra velha do
   chat a jogava para fora do palco entre 1100 e 1239) */
@media (min-width: 1100px) {
  .palco-corpo { grid-template-columns: minmax(0, 700px) 288px; }
  .palco .planta { display: block; position: sticky; top: 0; }
}

/* o pé nunca muda de composição: três lugares, sempre os mesmos */
.palco-pe > :first-child { min-width: 6.5rem; }
.palco-pe > :last-child { min-width: 6.5rem; text-align: right; }

/* no celular a frase que acalma vai para dentro do cartão */
@media (max-width: 720px) {
  .palco-pe > :first-child, .palco-pe > :last-child { min-width: 0; }
  .campos .opcoes.lista .opc { padding: .8rem .95rem; }
}
