/* Caminho: public_html/assets/css/home.css
   ============================================================
   HOME v2 "Poeira e Ouro": hero assimétrico com reel vertical,
   faixa marquee, formatos de show (vidro + tilt), números,
   depoimentos em marquee, mini-agenda com carimbos, CTA final,
   modal de vídeo. Depende de tokens.css e site.css.
   ============================================================ */

/* ------------------------------------------------------------
   HERO v3 · CINEMA DE ARENA (vídeo em tela cheia com WebGL)
   ------------------------------------------------------------ */
.hero3 {
  position: relative; overflow: hidden; isolation: isolate;
  min-height: 100svh; min-height: 100vh;
  display: grid; align-items: center;
  padding: calc(var(--jb-nav-h) + 48px) 0 96px;
  background: var(--jb-bg-deep); color: #e8e7e3;
}
.hero3__gl { position: absolute; inset: 0; z-index: 0; background: #050505; }
.hero3__gl canvas, .hero3__gl .hero3__fallback, .hero3__poster img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.hero3__poster { position: absolute; inset: 0; }
.hero3__poster img { filter: saturate(0.9) brightness(0.6); transform: scale(1.04); transition: opacity 1.2s var(--jb-ease); }
.hero3__gl canvas { opacity: 0; transition: opacity 1.4s var(--jb-ease); will-change: transform; }
.hero3__gl.is-gl canvas { opacity: 1; }
.hero3__gl.is-gl .hero3__poster img { opacity: 0; }
.hero3__fallback { display: none; filter: saturate(0.9) brightness(0.55); }
/* Fontes de vídeo do WebGL: visíveis (o navegador não pausa) e cobertas pelo canvas */
.hero3__src { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; pointer-events: none; }
.hero3__gl canvas { z-index: 1; }
.hero3__gl.is-fallback .hero3__fallback { display: block; z-index: 1; }
.hero3__gl.is-fallback canvas { display: none; }
.hero3__gl.is-static .hero3__poster img { opacity: 1; animation: none; }
@media (prefers-reduced-motion: no-preference) { .hero3__gl.is-static .hero3__poster img { animation: hero3Ken 24s ease-in-out infinite alternate; } }
@keyframes hero3Ken { from { transform: scale(1.04); } to { transform: scale(1.14) translateY(-2%); } }
.hero3__veu {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(5,5,5,0.85) 0%, rgba(5,5,5,0.6) 34%, rgba(5,5,5,0.05) 58%, rgba(5,5,5,0) 100%),
    linear-gradient(to bottom, rgba(5,5,5,0.55), transparent 30%, transparent 70%, var(--jb-bg) 100%);
}
.jb-poeira { z-index: 2 !important; }

/* Texto gigante contornado que atravessa o fundo */
.hero3__marquee { position: absolute; left: 0; right: 0; bottom: 8%; z-index: 2; pointer-events: none; -webkit-mask-image: none; mask-image: none; }
.hero3__marquee .jb-marquee__track { gap: 0.6em; }
.hero3__marquee span {
  font-family: var(--jb-font-head); font-weight: 700; text-transform: uppercase; white-space: nowrap;
  font-size: clamp(120px, 20vw, 300px); line-height: 1; letter-spacing: 0.02em;
  color: transparent; -webkit-text-stroke: 1px rgba(var(--jb-gold-rgb), 0.35);
  opacity: 0.9;
}
.hero3__marquee span::after { content: "✦"; -webkit-text-stroke: 0; color: rgba(var(--jb-gold-rgb), 0.35); font-size: 0.3em; vertical-align: middle; margin-left: 0.6em; }
@media (max-width: 720px) { .hero3__marquee { bottom: 4%; } .hero3__marquee span { font-size: 110px; } }

.hero3__grid {
  position: relative; z-index: 3;
  display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.6fr);
  gap: clamp(28px, 5vw, 80px); align-items: end;
}
.hero3__txt { max-width: 860px; }
.hero3__pill { margin-bottom: 26px; background: rgba(5,5,5,0.4); }
.hero3__logo { width: min(440px, 70vw); height: auto; margin-bottom: 26px; filter: drop-shadow(0 14px 40px rgba(0,0,0,0.6)); }
[data-theme="light"] .hero3__logo { filter: drop-shadow(0 14px 40px rgba(0,0,0,0.6)); }
.hero3__h1 {
  /* Fonte "cowboy" da marca (Rye), a mesma do logotipo verbal e das assinaturas em dourado */
  font-family: var(--jb-font-display); font-weight: 400; text-transform: uppercase;
  font-size: clamp(42px, 7.2vw, 118px); line-height: 1.0; letter-spacing: 0.02em; margin: 0 0 10px;
  text-shadow: 0 3px 0 rgba(0,0,0,0.35), 0 12px 40px rgba(0,0,0,0.6);
}
.hero3__h1 .line { display: block; }
.hero3__h1 .char { display: inline-block; will-change: transform; }
.hero3__amp { display: block; font-family: var(--jb-font-display); text-transform: none; font-size: 0.34em; letter-spacing: 0.14em; color: var(--jb-gold); margin: 10px 0 6px 6px; }
.hero3__ouro, .hero3__ouro .char { background: var(--jb-grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: 0.08em; }
.hero3__lead { color: rgba(232,231,227,0.82); font-size: clamp(16px, 1.5vw, 20px); line-height: 1.65; max-width: 56ch; margin: 24px 0 34px; text-wrap: pretty; text-shadow: 0 2px 16px rgba(0,0,0,0.6); }
.hero3__lead strong { color: #fff; font-weight: 600; }
.hero3__ctas { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.hero3__meta { display: flex; flex-wrap: wrap; gap: 28px; margin-top: 40px; padding-top: 24px; border-top: 1px solid rgba(232,231,227,0.18); }
.hero3__meta div { display: grid; gap: 4px; }
.hero3__meta small { font-size: 10.5px; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(232,231,227,0.55); }
.hero3__meta span { font-family: var(--jb-font-head); font-weight: 500; font-size: 17px; letter-spacing: 0.03em; text-transform: uppercase; }

/* Lado direito: próximo show e "ao vivo" */
.hero3__lado { display: grid; gap: 14px; justify-self: end; width: min(100%, 380px); }
.hero3__proximo {
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 16px;
  padding: 14px 16px 14px 12px; border-radius: 20px; color: #e8e7e3;
  box-shadow: var(--jb-shadow-md); transition: transform var(--jb-dur-base) var(--jb-ease-out), border-color var(--jb-dur-fast);
}
.hero3__proximo:hover { transform: translateY(-3px); border-color: var(--jb-line-gold); }
.hero3__proximo small { display: block; font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--jb-gold); margin-bottom: 4px; }
.hero3__proximo b { display: block; font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 16px; letter-spacing: 0.03em; line-height: 1.15; }
.hero3__proximo > span > span { font-size: 12px; color: rgba(232,231,227,0.7); }
.hero3__proximo svg { width: 18px; height: 18px; fill: var(--jb-gold); }
.hero3__aovivo { display: grid; grid-template-columns: auto auto 1fr; align-items: center; gap: 10px; padding: 10px 14px 12px; border-radius: 16px; font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: #e8e7e3; position: relative; }
.hero3__aovivo i { width: 8px; height: 8px; border-radius: 50%; background: #ff4d4d; box-shadow: 0 0 10px #ff4d4d; animation: heroRec 1.4s ease-in-out infinite; }
.hero3__aovivo span { font-weight: 700; }
.hero3__aovivo em { font-style: normal; color: rgba(232,231,227,0.6); letter-spacing: 0.08em; text-transform: none; font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hero3__barra { position: absolute; left: 14px; right: 14px; bottom: 6px; height: 1px; background: rgba(232,231,227,0.15); }
.hero3__barra span { display: block; height: 100%; background: var(--jb-grad-gold); transform: scaleX(0); transform-origin: left; }
@keyframes heroRec { 50% { opacity: 0.35; } }

.hero3__vertical {
  position: absolute; right: 22px; top: 50%; z-index: 3; transform: rotate(90deg) translateX(-50%); transform-origin: right top;
  font-size: 10px; letter-spacing: 0.4em; text-transform: uppercase; color: rgba(232,231,227,0.45); white-space: nowrap; pointer-events: none;
}
.hero3 .hero__scroll { color: rgba(232,231,227,0.55); }

@media (max-width: 1100px) { .hero3__grid { grid-template-columns: minmax(0, 1.3fr) minmax(260px, 0.7fr); } }
@media (max-width: 880px) {
  .hero3 { padding: calc(var(--jb-nav-h) + 24px) 0 88px; }
  .hero3__grid { grid-template-columns: 1fr; gap: 28px; }
  .hero3__lado { justify-self: stretch; width: 100%; }
  .hero3__logo { width: min(300px, 70vw); }
  .hero3__vertical, .hero3 .hero__scroll { display: none; }
  .hero3__veu { background: linear-gradient(to bottom, rgba(5,5,5,0.7), rgba(5,5,5,0.35) 35%, rgba(5,5,5,0.55) 70%, var(--jb-bg) 100%); }
}
@media (max-width: 480px) { .hero3__ctas .hero__cta-wa, .hero3__ctas .hero__cta-2 { width: 100%; justify-content: center; } .hero3__meta { gap: 16px; } }
@media (prefers-reduced-motion: reduce) { .hero3__aovivo i { animation: none; } }

/* Botões do hero (compartilhados) */
.hero__ctas { display: flex; flex-wrap: wrap; gap: 14px; align-items: center; }
.hero__cta-wa {
  display: inline-flex; align-items: center; gap: 14px;
  padding: 12px 22px 12px 14px; border-radius: var(--jb-radius-pill);
  background: var(--jb-whatsapp); color: var(--jb-whatsapp-ink);
  box-shadow: var(--jb-glow-wa);
  transition: transform var(--jb-dur-fast), box-shadow var(--jb-dur-fast), background var(--jb-dur-fast);
}
.hero__cta-wa:hover { background: #2fe374; transform: translateY(-2px); box-shadow: 0 18px 44px -10px rgba(37, 211, 102, 0.7); }
.hero__cta-wa:active { transform: scale(var(--jb-scale-press)); }
.hero__cta-ico { width: 44px; height: 44px; border-radius: 50%; background: rgba(5, 46, 22, 0.16); display: grid; place-items: center; }
.hero__cta-ico svg { width: 24px; height: 24px; fill: currentColor; }
.hero__cta-txt { display: grid; line-height: 1.15; }
.hero__cta-txt small { font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 700; opacity: 0.85; }
.hero__cta-txt b { font-family: var(--jb-font-head); font-weight: 600; font-size: 20px; letter-spacing: 0.02em; }
.hero__cta-2 { gap: 10px; }
.hero__cta-2 svg { width: 14px; height: 14px; fill: currentColor; transition: transform var(--jb-dur-base) var(--jb-ease-out); }
.hero__cta-2:hover svg { transform: translateY(3px); }
.hero__scroll {
  position: absolute; left: 50%; bottom: 22px; z-index: 3; transform: translateX(-50%);
  display: grid; justify-items: center; gap: 10px;
  font-size: 10px; letter-spacing: 0.3em; text-transform: uppercase; color: var(--jb-ink-soft);
}
.hero__scroll i { width: 1px; height: 46px; background: linear-gradient(to bottom, var(--jb-gold), transparent); animation: heroScroll 2s var(--jb-ease-inout) infinite; transform-origin: top; }
@keyframes heroScroll { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ------------------------------------------------------------
   FAIXA (marquee de contextos)
   ------------------------------------------------------------ */
.faixa { padding: 26px 0; border-top: 1px solid var(--jb-line); border-bottom: 1px solid var(--jb-line); background: var(--jb-bg); }
.faixa__item { display: inline-flex; align-items: center; gap: 28px; font-family: var(--jb-font-head); font-weight: 500; text-transform: uppercase; font-size: clamp(16px, 2vw, 22px); letter-spacing: 0.08em; color: var(--jb-ink-muted); white-space: nowrap; }
.faixa__item::after { content: "✦"; color: var(--jb-gold); font-size: 0.7em; }

/* ------------------------------------------------------------
   FORMATOS DE SHOW
   ------------------------------------------------------------ */
.planos { position: relative; padding: var(--jb-section-py) 0; background: var(--jb-bg); }
.planos::before { content: ""; position: absolute; inset: 0; background: var(--jb-grad-stage); pointer-events: none; }
.planos__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 28px); align-items: stretch; position: relative; }
.plano { display: flex; flex-direction: column; min-height: 640px; }
.plano--destaque { transform: translateY(-14px); border-color: var(--jb-line-gold); box-shadow: var(--jb-glow-gold); }
.plano__midia { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #000; }
.plano__midia img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.02); transition: transform 1.2s var(--jb-ease-out), filter 0.6s; filter: saturate(0.85) brightness(0.9); }
.plano:hover .plano__midia img { transform: scale(1.08); filter: saturate(1) brightness(1); }
.plano__midia::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--jb-glass-bg-strong), transparent 60%); }
.plano__play {
  position: absolute; left: 50%; top: 50%; z-index: 2; transform: translate(-50%, -50%);
  width: 64px; height: 64px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.35);
  background: rgba(10,10,10,0.55); color: #fff; display: grid; place-items: center;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  transition: transform var(--jb-dur-base) var(--jb-ease-spring), background var(--jb-dur-fast);
}
.plano__play svg { width: 22px; height: 22px; fill: currentColor; margin-left: 3px; }
.plano__play:hover { transform: translate(-50%, -50%) scale(1.12); background: var(--jb-gold); color: var(--jb-bg); }
.plano__play::before { content: ""; position: absolute; inset: -8px; border-radius: 50%; border: 1px solid rgba(var(--jb-gold-rgb), 0.5); animation: jbPulse 2.2s var(--jb-ease-out) infinite; }
.plano__tag { position: absolute; left: 16px; top: 16px; z-index: 2; }
.plano__badge { position: absolute; right: 16px; top: 16px; z-index: 2; background: var(--jb-grad-gold); color: var(--jb-bg); font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; font-weight: 800; padding: 7px 12px; border-radius: var(--jb-radius-pill); box-shadow: var(--jb-glow-gold); }
.plano__body { display: flex; flex-direction: column; flex: 1; padding: 26px 26px 28px; }
.plano__nome { font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 30px; letter-spacing: 0.02em; line-height: 1; margin: 0 0 10px; }
.plano__pitch { color: var(--jb-ink-muted); font-size: 14.5px; line-height: 1.6; margin: 0 0 20px; }
.plano__feats { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 9px; font-size: 13.5px; }
.plano__feats li { display: grid; grid-template-columns: 78px 1fr; gap: 10px; padding-bottom: 9px; border-bottom: 1px dashed var(--jb-line); }
.plano__feats strong { color: var(--jb-gold); font-weight: 600; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; padding-top: 2px; }
.plano__feats span { color: var(--jb-ink); }
.plano__foot { margin-top: auto; }
.plano__preco { display: flex; align-items: baseline; gap: 8px; margin: 0 0 4px; }
.plano__preco small { font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--jb-ink-soft); }
.plano__preco b { font-family: var(--jb-font-head); font-weight: 600; font-size: 40px; line-height: 1; background: var(--jb-grad-gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; }
.plano__nota { font-size: 11.5px; color: var(--jb-ink-soft); line-height: 1.5; margin: 0 0 18px; }
.plano__logistica { display: flex; gap: 10px; align-items: flex-start; margin: 4px 0 18px; padding: 10px 12px; border-radius: 12px; background: rgba(var(--jb-gold-rgb), 0.07); border: 1px dashed var(--jb-line-gold); font-size: 12.5px; line-height: 1.5; color: var(--jb-ink-muted); }
.plano__logistica .jb-ico { width: 18px; height: 18px; color: var(--jb-gold); flex-shrink: 0; margin-top: 1px; }
.plano__logistica strong { color: var(--jb-ink); font-weight: 600; }
.plano__acoes { display: grid; gap: 10px; }
.plano__wa { width: 100%; }
.plano__ver { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--jb-ink-muted); transition: color var(--jb-dur-fast); }
.plano__ver:hover { color: var(--jb-gold); }
.plano__ver svg { width: 16px; height: 16px; fill: #ff0000; }
@media (max-width: 1040px) { .planos__grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; } .plano { min-height: 0; } .plano--destaque { transform: none; } }

/* ------------------------------------------------------------
   DEPOIMENTOS (marquee de cartões)
   ------------------------------------------------------------ */
.depoimentos { padding: var(--jb-section-py) 0; background: var(--jb-bg-surface); position: relative; overflow: hidden; }
.depoimentos .jb-marquee { padding: 10px 0; }
.quote { position: relative; width: min(440px, 84vw); flex-shrink: 0; padding: 34px 30px 26px; display: flex; flex-direction: column; gap: 18px; border-radius: 26px; }
.quote__mark { position: absolute; top: 18px; right: 24px; width: 44px; height: 44px; color: var(--jb-gold); opacity: 0.35; }
.quote__mark svg { width: 100%; height: 100%; fill: currentColor; }
.quote__estrelas { display: flex; gap: 3px; color: var(--jb-gold); }
.quote__estrelas svg { width: 14px; height: 14px; fill: currentColor; }
.quote__txt { font-size: 16.5px; line-height: 1.7; color: var(--jb-ink); margin: 0; text-wrap: pretty; }
.quote__autor { display: grid; grid-template-columns: 52px 1fr auto; align-items: center; gap: 14px; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--jb-line); }
.quote__ini {
  width: 52px; height: 52px; border-radius: 50%; display: grid !important; place-items: center; margin: 0 !important;
  background: var(--jb-bg); color: var(--jb-gold); font-family: var(--jb-font-head); font-weight: 600; font-size: 17px !important; letter-spacing: 0.04em; line-height: 1;
  position: relative; isolation: isolate;
}
.quote__ini::before { content: ""; position: absolute; inset: -2px; border-radius: 50%; background: conic-gradient(from 0deg, var(--jb-gold-soft), var(--jb-gold), var(--jb-gold-deep), var(--jb-gold-soft)); z-index: -1; }
.quote__ini::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #23211c, #0f0f0e); z-index: -1; }
.quote__nome { min-width: 0; }
.quote__nome strong { display: block; font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 15px; letter-spacing: 0.06em; line-height: 1.1; }
.quote__nome span { display: block; color: var(--jb-ink-muted); font-size: 12.5px; margin-top: 4px; }
.quote__selo { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--jb-line-gold); color: var(--jb-gold); font-size: 9.5px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; white-space: nowrap; }
.quote__selo svg { width: 12px; height: 12px; fill: currentColor; }
@media (max-width: 520px) { .quote__autor { grid-template-columns: 48px 1fr; } .quote__selo { display: none; } }

/* ------------------------------------------------------------
   MINI-AGENDA
   ------------------------------------------------------------ */
.mini-agenda { padding: var(--jb-section-py) 0; }
.mini-agenda__lista { display: grid; gap: 12px; max-width: 900px; margin: 0 auto; }
.mini-show { --cor: var(--jb-gold); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 22px; padding: 14px 22px 14px 14px; border-radius: 22px; color: inherit; text-decoration: none; }
.mini-show--proximo { border-color: var(--jb-line-gold); box-shadow: var(--jb-glow-gold); }
.mini-show:hover .ag-data { transform: rotate(0deg) scale(1.05); }
.mini-show__info { min-width: 0; display: grid; gap: 6px; }
.mini-show__topo { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mini-show__quando { font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 700; color: var(--jb-ink-soft); }
.mini-show__quando.is-prox { color: var(--jb-gold); }
.mini-show__titulo { font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: clamp(20px, 2.4vw, 26px); letter-spacing: 0.02em; line-height: 1.05; overflow-wrap: anywhere; color: var(--jb-ink); }
.mini-show__local { color: var(--jb-ink-muted); font-size: 14px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.mini-show__local svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; opacity: .8; flex-shrink: 0; }
.mini-show__sep { color: var(--jb-ink-soft); }
.mini-show__seta { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--jb-line-strong); display: grid; place-items: center; color: var(--jb-ink-muted); transition: background var(--jb-dur-fast), color var(--jb-dur-fast), transform var(--jb-dur-base) var(--jb-ease-out); }
.mini-show__seta svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.mini-show:hover .mini-show__seta { background: var(--jb-gold); color: var(--jb-bg); transform: translateX(4px); }
.mini-agenda__vazio { text-align: center; padding: 44px 24px; border-radius: var(--jb-radius-xl); max-width: 640px; margin: 0 auto; }
.mini-agenda__ico { width: 60px; height: 60px; border-radius: 20px; background: rgba(var(--jb-gold-rgb), .12); color: var(--jb-gold); display: grid; place-items: center; margin: 0 auto 16px; }
.mini-agenda__ico svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.mini-agenda__vazio p { color: var(--jb-ink-muted); margin: 0 0 22px; font-size: 17px; }
.mini-agenda__rodape { display: flex; justify-content: center; gap: 14px; flex-wrap: wrap; margin-top: 40px; }
/* Bloco de data (.ag-data) e etiqueta (.ag-tag): estilo saloon compartilhado em site.css */
@media (max-width: 640px) {
  .mini-show { grid-template-columns: auto 1fr; gap: 14px; padding: 14px; }
  .mini-show__seta { display: none; }
  .mini-show .ag-data--lg { width: 78px; min-width: 78px; padding: 11px 8px 9px; }
  .mini-show .ag-data--lg b { font-size: 30px; }
}

/* ------------------------------------------------------------
   MODAL DE VÍDEO
   ------------------------------------------------------------ */
.vmodal__frame { aspect-ratio: 16 / 9; background: #000; }
.vmodal__wrap { position: absolute; inset: 0; }
.vmodal__wrap iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; opacity: 0; transition: opacity 0.4s; }
.vmodal__wrap.is-loaded iframe { opacity: 1; }
.vmodal__loading { position: absolute; inset: 0; display: grid; place-items: center; color: var(--jb-gold); font-size: 11px; letter-spacing: 0.3em; text-transform: uppercase; }
.vmodal__loading::after { content: ""; position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(var(--jb-gold-rgb), 0.35); border-top-color: var(--jb-gold); animation: vmSpin 1s linear infinite; }
@keyframes vmSpin { to { transform: rotate(360deg); } }
.vmodal__wrap.is-loaded .vmodal__loading { display: none; }
.vmodal__titulo { position: absolute; left: 18px; bottom: 14px; z-index: 2; padding: 8px 14px; border-radius: var(--jb-radius-pill); background: var(--jb-glass-bg-strong); border: 1px solid var(--jb-glass-line); font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--jb-ink); pointer-events: none; }

/* Fallback sem WebGL em tela horizontal: mostra o João inteiro à direita, não ampliado */
@media (min-aspect-ratio: 21/20) {
  .hero3__gl.is-fallback .hero3__fallback { object-fit: contain; object-position: 76% 50%; filter: saturate(0.95) brightness(0.8); }
  .hero3__gl.is-fallback { background: radial-gradient(60% 80% at 76% 50%, #1a140c, #050505 70%); }
}

/* ------------------------------------------------------------
   COMO O VALOR É FORMADO + SIMULADOR
   ------------------------------------------------------------ */
.valor { padding: 0 0 var(--jb-section-py); }
.valor__passos { list-style: none; margin: 0 0 22px; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; counter-reset: v; position: relative; }
.valor__passo { position: relative; padding: 30px 26px 26px; border-radius: 24px; }
.valor__num { position: absolute; top: 18px; right: 22px; font-family: var(--jb-font-display); font-size: 44px; line-height: 1; color: rgba(var(--jb-gold-rgb), 0.25); }
.valor__ico { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: rgba(var(--jb-gold-rgb), 0.1); border: 1px solid var(--jb-line-gold); color: var(--jb-gold); margin-bottom: 18px; }
.valor__ico .jb-ico { width: 30px; height: 30px; }
.valor__passo h3 { font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 22px; letter-spacing: 0.02em; margin: 0 0 10px; }
.valor__passo p { color: var(--jb-ink-muted); line-height: 1.65; font-size: 15px; margin: 0; }
.valor__passo:not(:last-child)::after { content: "+"; position: absolute; right: -14px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--jb-bg); border: 1px solid var(--jb-line-gold); color: var(--jb-gold); font-weight: 700; z-index: 2; }
.valor__passo:nth-child(2)::after { content: "="; }
.valor__sim { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); gap: 24px; align-items: center; padding: 26px 28px; border-radius: 24px; border-color: var(--jb-line-gold); }
.valor__sim h3 { font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 22px; margin: 0 0 8px; }
.valor__sim p { color: var(--jb-ink-muted); font-size: 14.5px; line-height: 1.6; margin: 0; }
.valor__sim-campos { display: grid; grid-template-columns: 1.3fr 1.2fr 0.8fr auto; gap: 10px; align-items: end; }
.valor__sim-campos label { display: grid; gap: 6px; font-size: 10.5px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--jb-ink-muted); font-weight: 600; }
.valor__sim-campos input, .valor__sim-campos select { min-height: 48px; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--jb-line-strong); background: rgba(var(--jb-bg-rgb), 0.5); color: var(--jb-ink); font: inherit; font-size: 14px; letter-spacing: 0; text-transform: none; color-scheme: dark; }
.valor__sim-campos select option { background: var(--jb-bg-elev); }
.valor__sim-campos .jb-btn { min-height: 48px; white-space: nowrap; }
@media (max-width: 1040px) { .valor__sim { grid-template-columns: 1fr; } .valor__sim-campos { grid-template-columns: 1fr 1fr; } .valor__sim-campos .jb-btn { grid-column: 1 / -1; } }
@media (max-width: 860px) { .valor__passos { grid-template-columns: 1fr; } .valor__passo:not(:last-child)::after { right: 50%; top: auto; bottom: -22px; transform: translateX(50%); } }
@media (max-width: 520px) { .valor__sim-campos { grid-template-columns: 1fr; } }

/* Provas sociais abaixo dos depoimentos (nota em estrelas, sem ambiguidade de escala) */
.provas { list-style: none; margin: 38px auto 0; padding: 0; display: grid; grid-template-columns: 1.15fr 1fr 1fr; gap: 14px; max-width: 1080px; }
.prova { display: flex; align-items: center; gap: 16px; padding: 18px 20px; border-radius: 20px; }
.prova__estrelas { display: flex; gap: 3px; color: var(--jb-gold); flex-shrink: 0; filter: drop-shadow(0 0 6px rgba(var(--jb-gold-rgb), 0.45)); }
.prova__estrelas svg { width: 20px; height: 20px; fill: currentColor; }
.prova__ico { width: 46px; height: 46px; border-radius: 14px; display: grid; place-items: center; background: rgba(var(--jb-gold-rgb), 0.1); border: 1px solid var(--jb-line-gold); color: var(--jb-gold); flex-shrink: 0; }
.prova__ico .jb-ico { width: 24px; height: 24px; }
.prova__txt { display: grid; gap: 3px; min-width: 0; }
.prova__txt b { font-family: var(--jb-font-head); font-weight: 600; text-transform: uppercase; font-size: 17px; letter-spacing: 0.03em; color: var(--jb-ink); line-height: 1.1; }
.prova__txt small { font-size: 12.5px; color: var(--jb-ink-muted); line-height: 1.4; }
.prova--nota { border-color: var(--jb-line-gold); }
@media (max-width: 900px) { .provas { grid-template-columns: 1fr; max-width: 520px; } }
.quote__estrelas svg.is-vazia { opacity: .22; }
.plano__alt, .valor__sim-alt { display: block; text-align: center; font-size: 12.5px; color: var(--jb-ink-soft); text-decoration: underline; text-underline-offset: 3px; transition: color var(--jb-dur-fast); padding: 4px 0; }
.plano__alt:hover, .valor__sim-alt:hover { color: #25d366; }
.hero__cta-pedido { background: var(--jb-gold); color: #0a0a0a; box-shadow: var(--jb-glow-gold); }
.hero__cta-pedido:hover { background: #e2b45c; box-shadow: 0 18px 44px -10px rgba(212, 162, 76, .7); }
.hero__cta-pedido .hero__cta-ico { background: rgba(10, 10, 10, .12); }
.hero__cta-pedido .hero__cta-ico svg { fill: none; stroke: currentColor; }
.dep-cta { display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap; margin: 26px 0 30px; color: var(--jb-ink-muted); font-size: 15px; }
