/* ═══════════════════════════════════════════════
   Matrículas — jornada em tela cheia
   Perguntas centradas, uma de cada vez.
   Minimalista, neon, cores CBR.
   ═══════════════════════════════════════════════ */

.jn {
  position: relative;
  min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center; justify-content: center;
  padding: clamp(4.5rem, 9vh, 6rem) 1.2rem 4.5rem;
}
.jn__brilhos { display: none; }

.jn__progresso {
  position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: rgba(0,134,188,0.14);
  z-index: 5;
}
.jn__progresso span {
  display: block; height: 100%; width: 0;
  background: linear-gradient(90deg, #29ABE2, var(--gold));
  box-shadow: 0 0 14px rgba(41,171,226,0.8);
  transition: width 0.6s cubic-bezier(0.22,1,0.36,1);
}
.jn__voltar {
  position: absolute; left: clamp(1rem, 4vw, 3rem); top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(255,255,255,0.6); border: 1.5px solid rgba(0,134,188,0.35);
  color: #0086BC; font-size: 1.1rem; cursor: pointer;
  backdrop-filter: blur(8px);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s;
}
.jn__voltar:hover { border-color: #29ABE2; box-shadow: 0 0 18px rgba(41,171,226,0.6); transform: translateY(-50%) scale(1.08); }
.jn__voltar[hidden] { display: none; }

/* ── etapas ────────────────────────────────── */
.jn__palco {
  position: relative; z-index: 2;
  width: min(800px, 100%);
  text-align: center;
  background: rgba(255,255,255,0.4);
  backdrop-filter: blur(26px) saturate(1.35);
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
  border: 1.5px solid rgba(255,255,255,0.7);
  border-radius: 32px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75), 0 30px 60px -30px rgba(4,70,110,0.3);
  padding: clamp(1.8rem, 4vw, 3rem);
}
.jn-etapa { animation: jnEntra 0.65s cubic-bezier(0.22,1,0.36,1); }
@keyframes jnEntra { from { opacity: 0; transform: translateY(34px) scale(0.98); } }
.jn-etapa.is-sai { animation: jnSai 0.35s ease forwards; }
@keyframes jnSai { to { opacity: 0; transform: translateY(-26px) scale(0.985); } }

.jn-passo {
  font-size: 0.82rem; font-weight: 600; letter-spacing: var(--track);
  color: #BE8B00;
  margin-bottom: 0.9rem;
}
.jn-perg {
  font-size: clamp(1.4rem, 3.4vw, 2.3rem);
  font-weight: 700; line-height: 1.14;
  color: #0086BC; letter-spacing: var(--track);
  text-wrap: balance;
  margin-bottom: 0.7rem;
}
.jn-perg b { color: #29ABE2; font-weight: 700; text-shadow: 0 0 14px rgba(41,171,226,0.45); }
.jn-perg em { font-style: normal; color: #E9A800; text-shadow: 0 0 14px rgba(253,182,3,0.5); }
.jn-apoio { font-size: 0.95rem; color: #3D6E88; letter-spacing: var(--track); margin-bottom: 1.6rem; }

/* input central */
.jn-form { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.jn-form input {
  font-family: inherit; font-size: 1.1rem; letter-spacing: var(--track);
  color: #04466E; background: rgba(255,255,255,0.75);
  border: 1.5px solid rgba(0,134,188,0.3);
  border-radius: 999px;
  padding: 15px 26px; width: min(380px, 76vw);
  outline: none; text-align: center;
  transition: border-color 0.3s, box-shadow 0.3s;
}
.jn-form input::placeholder { color: #8FB3C6; }
.jn-form input:focus { border-color: #29ABE2; box-shadow: 0 0 22px rgba(41,171,226,0.5); }
.jn-form button {
  font-family: inherit; font-size: 1rem; font-weight: 600; letter-spacing: var(--track);
  color: #04466E; background: var(--gold);
  border: 0; border-radius: 999px;
  padding: 15px 28px; cursor: pointer;
  box-shadow: 0 0 22px rgba(253,182,3,0.4);
  transition: transform 0.3s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.3s;
}
.jn-form button:hover { transform: translateY(-3px) scale(1.04); box-shadow: 0 0 34px rgba(253,182,3,0.7); }

/* escolhas em chips grandes */
.jn-ops { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; max-width: 620px; margin: 0 auto; }
.jn-op {
  font-family: inherit; font-size: 0.95rem; font-weight: 600; letter-spacing: var(--track);
  color: #0086BC; background: rgba(255,255,255,0.65);
  border: 1.5px solid rgba(0,134,188,0.35);
  border-radius: 999px;
  padding: 13px 24px; cursor: pointer;
  backdrop-filter: blur(8px);
  transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s, background 0.3s;
}
.jn-op:hover {
  border-color: #29ABE2;
  box-shadow: 0 0 20px rgba(41,171,226,0.6);
  transform: translateY(-3px);
}
.jn-op--ouro {
  background: var(--gold); color: #04466E; border-color: var(--gold);
  box-shadow: 0 0 22px rgba(253,182,3,0.45);
}
.jn-op--ouro:hover { border-color: var(--gold); box-shadow: 0 0 36px rgba(253,182,3,0.75); }
.jn-pular {
  display: block; margin: 1.2rem auto 0;
  background: none; border: 0; cursor: pointer;
  font-family: inherit; font-size: 0.8rem; color: #8FB3C6;
  letter-spacing: var(--track); text-decoration: underline;
}
.jn-pular:hover { color: #0086BC; }

/* cartões de explicação (proposta / horários / CBRCAST) */
.jn-cartao {
  background: rgba(255,255,255,0.6);
  backdrop-filter: blur(16px) saturate(1.3);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid rgba(255,255,255,0.85);
  border-radius: 22px;
  box-shadow: 0 24px 50px -28px rgba(4,70,110,0.35), inset 0 1px 0 rgba(255,255,255,0.8);
  padding: clamp(1.2rem, 3vw, 2rem);
  max-width: 640px; margin: 0 auto 1.4rem;
  text-align: left;
}
.jn-cartao img.jn-foto {
  width: 100%; aspect-ratio: 16/8.5; object-fit: cover;
  border-radius: 14px; margin-bottom: 1rem;
}
.jn-cartao p { font-size: 0.95rem; line-height: 1.7; color: #3D6E88; letter-spacing: var(--track); }
.jn-cartao p + p { margin-top: 0.7rem; }
.jn-cartao .jn-serie {
  border-left: 2px solid #29ABE2;
  box-shadow: -8px 0 20px -14px rgba(41,171,226,0.9);
  padding-left: 0.9rem;
}
.jn-cartao .jn-gancho {
  font-size: 0.86rem;
  color: #6E93A8;
  font-style: italic;
}
.jn-cartao b { color: #BE8B00; font-weight: 600; }
.jn-cartao .jn-video {
  width: 100%; aspect-ratio: 16/9; border: 0; border-radius: 14px;
  margin-top: 0.4rem;
}
.jn-cbrcast {
  display: inline-block;
  font-size: 0.78rem; font-weight: 600; letter-spacing: var(--track);
  color: #E8098E; text-shadow: 0 0 12px rgba(232,9,142,0.6);
  margin-bottom: 0.5rem;
}

.jn__nota {
  position: absolute; bottom: 16px; left: 0; right: 0;
  z-index: 2;
  font-size: 0.78rem; color: #6E93A8; letter-spacing: var(--track);
  text-align: center;
}
.jn__nota a { color: #0086BC; font-weight: 600; }

@media (max-width: 620px) {
  .jn__voltar { left: 12px; top: auto; bottom: 54px; transform: none; }
  .jn__voltar:hover { transform: scale(1.08); }
  .jn-form input { width: 100%; }
  .jn-form button { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .jn-etapa { animation: none; }
}


/* ── tela de carregamento da proposta ──────── */
.jn-carrega { padding: 2rem 0 1rem; }
.jn-anel {
  width: 74px; height: 74px;
  margin: 0 auto 1.4rem;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 12%, #29ABE2 55%, #FDB603 92%, transparent 100%);
  -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
          mask: radial-gradient(farthest-side, transparent calc(100% - 7px), #000 calc(100% - 6px));
  animation: jnGira 1.1s linear infinite;
  filter: drop-shadow(0 0 12px rgba(41,171,226,0.6));
}
@keyframes jnGira { to { rotate: 360deg; } }
.jn-carrega__txt {
  font-size: 0.95rem; font-weight: 500; color: #3D6E88; letter-spacing: var(--track);
  animation: jnPisca 1.6s ease-in-out infinite;
}
@keyframes jnPisca { 50% { opacity: 0.45; } }
@media (prefers-reduced-motion: reduce) { .jn-anel, .jn-carrega__txt { animation: none; } }


/* ── proposta em blocos separados ──────────── */
.jn-foto-solta {
  width: 100%; max-width: 560px;
  aspect-ratio: 16/7; object-fit: cover;
  border-radius: 16px;
  margin: 0.6rem auto 1rem;
  display: block;
  box-shadow: 0 20px 44px -24px rgba(4,70,110,0.4);
  opacity: 0; animation: jnBloco 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay: var(--d, 0s);
}
.jn-blocos {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 12px;
  text-align: left;
}
.jn-bloco {
  background: rgba(255,255,255,0.62);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.9);
  border-left: 3px solid #29ABE2;
  border-radius: 16px;
  padding: 1rem 1.2rem;
  box-shadow: 0 18px 38px -24px rgba(4,70,110,0.35);
  opacity: 0; transform: translateY(20px);
  animation: jnBloco 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay: var(--d, 0s);
}
.jn-bloco:nth-child(2) { border-left-color: #FDB603; }
.jn-bloco:nth-child(3) { border-left-color: #8CC63F; }
.jn-bloco:nth-child(4) { border-left-color: #E8098E; }
.jn-bloco:nth-child(5) { border-left-color: #29ABE2; }
.jn-bloco--integral { border-left-color: #FDB603 !important; grid-column: 1 / -1; }
@keyframes jnBloco { to { opacity: 1; transform: none; } }
.jn-bloco__rotulo {
  display: block;
  font-size: 0.78rem; font-weight: 600; letter-spacing: var(--track);
  color: #0086BC;
  margin-bottom: 0.35rem;
}
.jn-bloco p { font-size: 0.86rem; line-height: 1.65; color: #3D6E88; letter-spacing: var(--track); }
.jn-bloco p b { color: #BE8B00; font-weight: 600; }
@media (max-width: 620px) { .jn-blocos { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .jn-bloco, .jn-foto-solta { animation: none; opacity: 1; transform: none; } }

/* ── apresentação por etapas: etiqueta + destaque ── */
.jn-etq {
  display: inline-block;
  font-size: 0.92rem; font-weight: 700;
  letter-spacing: var(--track);
  color: #fff;
  background: var(--c, #0086BC);
  border-radius: 999px;
  padding: 8px 22px;
  margin-bottom: 1rem;
  box-shadow: 0 14px 30px -14px var(--c, rgba(0,134,188,0.8));
}
.jn-destaque {
  text-align: left;
  background: rgba(255,255,255,0.72);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.9);
  border-left: 5px solid var(--c, #0086BC);
  border-radius: 18px;
  padding: 1.2rem 1.5rem;
  max-width: 640px;
  margin: 0 auto;
  box-shadow: 0 22px 44px -26px rgba(4,70,110,0.4);
  opacity: 0; transform: translateY(20px);
  animation: jnBloco 0.7s cubic-bezier(0.22,1,0.36,1) forwards;
  animation-delay: var(--d, 0s);
}
.jn-destaque + .jn-destaque { margin-top: 14px; }
.jn-destaque__rot {
  display: block;
  font-size: 0.8rem; font-weight: 700;
  letter-spacing: var(--track);
  color: var(--c, #0086BC);
  margin-bottom: 0.4rem;
}
.jn-destaque p { font-size: 0.95rem; line-height: 1.7; color: #3D6E88; letter-spacing: var(--track); }
.jn-destaque p b { color: #BE8B00; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .jn-destaque { animation: none; opacity: 1; transform: none; } }


/* ── processo interativo: abas + checklist ──── */
.jn-etapas { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-bottom: 1rem; }
.jn-etapa-tab {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: inherit; font-size: 0.86rem; font-weight: 600; letter-spacing: var(--track);
  color: #0086BC; background: rgba(255,255,255,0.6);
  border: 1.5px solid rgba(0,134,188,0.3);
  border-radius: 999px; padding: 10px 18px; cursor: pointer;
  transition: border-color 0.3s, box-shadow 0.3s, background 0.3s, transform 0.3s;
}
.jn-etapa-tab i {
  font-style: normal;
  width: 22px; height: 22px; border-radius: 50%;
  display: grid; place-items: center;
  font-size: 0.72rem; font-weight: 700;
  background: rgba(0,134,188,0.12); color: #0086BC;
}
.jn-etapa-tab:hover { border-color: #29ABE2; box-shadow: 0 0 16px rgba(41,171,226,0.4); transform: translateY(-2px); }
.jn-etapa-tab.is-on { background: var(--blue); border-color: var(--blue); color: #fff; box-shadow: 0 0 20px rgba(0,134,188,0.5); }
.jn-etapa-tab.is-on i { background: rgba(255,255,255,0.25); color: #fff; }
.jn-etapa-painel { text-align: left; }
.jn-etapa-painel .jn-bloco { display: block; }

.jn-docs { list-style: none; margin: 0.2rem 0 0; padding: 0; }
.jn-doc {
  display: flex; align-items: center; gap: 10px;
  font-size: 0.87rem; color: #3D6E88; letter-spacing: var(--track);
  padding: 7px 4px; border-radius: 10px;
  cursor: pointer;
  transition: background 0.25s, color 0.25s;
}
.jn-doc:hover { background: rgba(0,134,188,0.06); }
.jn-doc span {
  width: 20px; height: 20px; border-radius: 6px; flex-shrink: 0;
  border: 1.5px solid rgba(0,134,188,0.45);
  display: grid; place-items: center;
  transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.jn-doc.is-ok { color: #6E93A8; text-decoration: line-through; }
.jn-doc.is-ok span {
  background: #8CC63F; border-color: #8CC63F;
  box-shadow: 0 0 12px rgba(140,198,63,0.6);
}
.jn-doc.is-ok span::before { content: '✓'; color: #fff; font-size: 0.72rem; font-weight: 700; }
.jn-doc em { font-style: normal; }
.jn-doc small { display: block; font-size: 0.74rem; color: #8FB3C6; line-height: 1.35; }
.jn-doc.is-ok small { text-decoration: line-through; }
.jn-bloco .jn-docs__intro { font-size: 0.86rem; line-height: 1.6; color: #3D6E88; margin: 0 0 0.4rem; letter-spacing: var(--track); }
.jn-bloco .jn-docs__intro b { color: #BE8B00; font-weight: 600; }
.jn-bloco .jn-docs__grupo {
  font-size: 0.8rem; font-weight: 600; color: var(--blue);
  margin: 0.9rem 0 0.1rem; padding-bottom: 4px;
  border-bottom: 1px solid rgba(0,134,188,0.18);
  letter-spacing: var(--track);
}
.jn-bloco .jn-docs__nota {
  margin: 0.9rem 0 0; padding: 8px 12px;
  font-size: 0.76rem; line-height: 1.55; color: #3D6E88;
  background: rgba(253,182,3,0.1); border-left: 3px solid #FDB603; border-radius: 0 8px 8px 0;
  letter-spacing: var(--track);
}
.jn-bloco .jn-docs__nota b { color: #BE8B00; font-weight: 600; }

/* ── agendamento direto da visita ──────────── */
.jn-ag__rotulo {
  font-size: 0.82rem; font-weight: 600; color: var(--blue);
  letter-spacing: var(--track);
  margin: 1.1rem 0 0.5rem;
}
.jn-ops--ag { gap: 8px; max-width: 560px; }
.jn-op--mini {
  padding: 9px 15px; font-size: 0.86rem;
  display: inline-flex; flex-direction: column; align-items: center; line-height: 1.15;
}
.jn-op--mini em { font-style: normal; font-size: 0.62rem; font-weight: 600; color: #8FB3C6; text-transform: lowercase; }
.jn-op.is-on {
  background: var(--blue); border-color: var(--blue); color: #fff;
  box-shadow: 0 0 20px rgba(0,134,188,0.55);
}
.jn-op.is-on em { color: rgba(255,255,255,0.75); }
.jn-op.is-off { opacity: 0.35; pointer-events: none; text-decoration: line-through; }
.jn-form--ag { margin-top: 0.2rem; }
.jn-form--ag input { width: min(260px, 100%); font-size: 0.95rem; padding: 13px 20px; }
.jn-ag__erro {
  margin-top: 0.9rem;
  font-size: 0.85rem; font-weight: 600; color: #E8098E;
  letter-spacing: var(--track);
}
.jn-apoio b { color: #BE8B00; font-weight: 600; }
.jn-cartao--endereco { text-align: center; max-width: 460px; padding: 1.1rem 1.4rem; }
.jn-cartao--endereco p { font-size: 0.9rem; line-height: 1.75; }
.jn-cartao--endereco b { color: var(--blue); }
