/* Circuito Auge — Eficiência Patrimonial
   Identidade: Azul BTG #001E62 · Preto #0B0B0F · Branco #FFFFFF · Vermelho #E31E24
   Títulos: Montserrat · Textos: Roboto */
:root {
  --azul: #001E62;
  --azul-fundo: #000F36;
  --azul-profundo: #071026;
  --preto: #0B0B0F;
  --branco: #FFFFFF;
  --vermelho: #E31E24;
  --azul-claro: #4d7cff;
  --cinza-100: #eef1f7;
  --cinza-300: #c3cad9;
  --cinza-500: #8b93a9;
  --texto: #1a2133;
  --texto-claro: #dfe4f0;
  --raio: 14px;
  --container: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Roboto", system-ui, -apple-system, "Segoe UI", sans-serif;
  color: var(--texto);
  background: var(--branco);
  line-height: 1.6;
}
h1, h2, h3 { font-family: "Montserrat", sans-serif; line-height: 1.15; margin: 0 0 .6rem; }
h1 { font-size: clamp(1.9rem, 4.5vw, 3rem); font-weight: 800; }
h2 { font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 700; }
.container { max-width: var(--container); margin: 0 auto; padding: 0 20px; }
.estreito { max-width: 780px; }
.centro { text-align: center; }
.skip-link { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 99; }
.skip-link:focus { left: 8px; top: 8px; }

/* Topo */
.topo { position: sticky; top: 0; z-index: 50; background: rgba(0,15,54,.96); backdrop-filter: blur(6px); border-bottom: 1px solid rgba(255,255,255,.08); }
.topo-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 68px; }
.marca { display: flex; align-items: center; gap: 12px; text-decoration: none; color: #fff; }
.marca-txt { display: flex; flex-direction: column; line-height: 1.05; }
.marca-circuito { font-family: Montserrat; font-size: .68rem; letter-spacing: .32em; color: var(--texto-claro); }
.marca-auge { font-family: Montserrat; font-weight: 800; font-size: 1.5rem; letter-spacing: .06em; }
.marca-sub { font-family: Montserrat; font-size: .6rem; letter-spacing: .28em; color: var(--texto-claro); border-top: 2px solid var(--vermelho); padding-top: 4px; margin-top: 4px; }
.nav { display: flex; align-items: center; gap: 22px; }
.nav a { color: var(--texto-claro); text-decoration: none; font-size: .95rem; }
.nav a:hover { color: #fff; }
.nav-toggle { display: none; background: none; border: 1px solid rgba(255,255,255,.3); color: #fff; border-radius: 8px; padding: 6px 10px; font-size: 1.1rem; }
.menu-mobile { display: none; flex-direction: column; gap: 4px; padding: 8px 20px 16px; background: var(--azul-fundo); }
.menu-mobile a { color: #fff; text-decoration: none; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.1); }

/* Botões */
.btn { display: inline-block; font-family: Montserrat; font-weight: 700; font-size: .95rem; text-decoration: none; color: #fff; background: transparent; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; padding: 12px 20px; transition: transform .15s ease, background .15s ease; }
.btn:hover { transform: translateY(-1px); }
.btn-sm { padding: 10px 16px; background: var(--vermelho); border-color: var(--vermelho); }
.btn-destaque { background: var(--vermelho); border-color: var(--vermelho); box-shadow: 0 10px 24px rgba(227,30,36,.35); }
.btn-block { display: block; text-align: center; width: 100%; }
.link-sec { color: var(--cinza-100); font-weight: 500; }

/* Hero */
/* Hero com vídeo em loop + degradê azul por cima */
.hero { position: relative; overflow: hidden; background: radial-gradient(1100px 500px at 85% -10%, rgba(77,124,255,.35), transparent 60%), linear-gradient(180deg, var(--azul-fundo), var(--azul-profundo)); color: #fff; padding: 64px 0 72px; }
.hero--video { background: var(--azul-fundo); padding: 32px 0 0; }
@media (min-width: 961px) {
  .hero--video { min-height: calc(100vh - 100px); min-height: calc(100svh - 100px); display: flex; flex-direction: column; }
  .hero--video .hero-grid { flex: 1; align-content: center; width: 100%; }
}
.hero--video .marquee { position: relative; z-index: 2; margin-top: 28px; }
/* Compactação para a faixa caber na primeira dobra */
.hero h1 { font-size: clamp(1.7rem, 3.4vw, 2.3rem); margin-bottom: .45rem; }
.hero .apoio { font-size: 1rem; margin-top: 0; margin-bottom: 14px; }
.hero-desejos { margin-bottom: 16px; }
.hero .dados-essenciais { margin: 16px 0; }
.hero .dados-essenciais li { padding: 8px 12px; }
.hero .cta-row { margin-bottom: 0; }
.hero .nota-conteudo { margin-top: 14px; margin-bottom: 0; font-size: .86rem; }
.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 20%; transform: scaleX(-1); }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,12,44,.96) 0%, rgba(0,30,98,.88) 32%, rgba(0,30,98,.25) 50%, transparent 62%); }
@media (max-width: 960px) { .hero-overlay { background: linear-gradient(180deg, rgba(0,12,44,.9), rgba(0,30,98,.75)); } }
.hero-grid { position: relative; z-index: 2; }
.hero--video .hero-grid { grid-template-columns: minmax(0, 660px); }
@media (min-width: 961px) { .hero--video .container { padding-left: 10px; } }
.hero-desejos { list-style: none; padding: 0; margin: 0 0 22px; display: grid; gap: 8px; }
.hero-desejos li { position: relative; padding-left: 30px; color: #fff; font-weight: 500; }
.hero-desejos li::before { content: "✓"; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--vermelho); color: #fff; font-size: .72rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.hero-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center; }
.selo-edicao { display: inline-flex; align-items: center; gap: 8px; font-family: Montserrat; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-claro); border: 1px solid rgba(255,255,255,.2); border-radius: 999px; padding: 8px 14px; }
.selo-edicao .ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--vermelho); }
.apoio { font-size: 1.1rem; color: var(--texto-claro); max-width: 34rem; }
.dados-essenciais { list-style: none; display: flex; gap: 12px; padding: 0; margin: 24px 0; flex-wrap: wrap; }
.dados-essenciais li { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 12px; padding: 10px 14px; min-width: 150px; }
.dados-essenciais strong { display: block; font-family: Montserrat; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza-300); }
.cta-row { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin: 8px 0 16px; }
.nota-conteudo { font-size: .92rem; color: var(--cinza-300); border-left: 3px solid var(--vermelho); padding-left: 12px; max-width: 36rem; }
.pendente em, .pendente-inline { font-style: normal; font-size: .78em; background: rgba(227,30,36,.16); border: 1px dashed var(--vermelho); border-radius: 6px; padding: 1px 6px; color: #ffb3b5; white-space: nowrap; }
section:not(.hero) .pendente em { color: var(--vermelho); background: rgba(227,30,36,.08); }

/* Fotografia real do palestrante */
.foto-hero { margin: 0; max-width: 420px; width: 100%; }
.foto-hero img { width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: top center; border-radius: 20px; border: 1px solid rgba(77,124,255,.4); display: block; box-shadow: 0 24px 60px rgba(0,0,0,.45); }
.foto-hero figcaption { margin-top: 10px; font-size: .82rem; color: var(--cinza-300); text-align: center; }
.foto-real { padding: 0; overflow: hidden; }
.foto-real img { width: 100%; height: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: top center; display: block; }

/* Formulário da lista de espera */
.form-lista { display: grid; gap: 12px; margin-top: 14px; }
.form-lista label { display: grid; gap: 6px; font-family: Montserrat; font-weight: 600; font-size: .85rem; }
.form-lista input { font: inherit; font-weight: 400; padding: 12px 14px; border-radius: 10px; border: 1px solid #c9d1e4; width: 100%; }
.form-lista input:focus { outline: 2px solid var(--azul-claro); border-color: var(--azul); }
.form-ok { background: #eefbf0; border: 1px solid #9ed6a8; color: #1c5c2a; border-radius: 8px; padding: 8px 10px; font-size: .88rem; }

/* Visual (sem foto) */
.hero-visual { display: flex; justify-content: center; }
.cartao-visual { position: relative; width: min(360px, 100%); aspect-ratio: 3/4; border-radius: 20px; background: linear-gradient(160deg, #0a1c5c, #040b22); border: 1px solid rgba(77,124,255,.4); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; overflow: hidden; text-align: center; padding: 24px; }
.cartao-visual::after { content: ""; position: absolute; inset: auto -40% -30% -40%; height: 60%; border: 2px solid rgba(77,124,255,.5); border-bottom: none; border-radius: 50% 50% 0 0; }
.mono-grande { font-family: Montserrat; font-weight: 800; font-size: 5rem; line-height: 1; }
.cartao-linha1 { font-family: Montserrat; letter-spacing: .3em; font-size: .8rem; margin: 0; }
.cartao-linha2 { font-family: Montserrat; font-weight: 800; letter-spacing: .18em; margin: 0; }
.cartao-edicao { color: var(--cinza-300); font-family: Montserrat; font-size: .75rem; letter-spacing: .2em; border-top: 2px solid var(--vermelho); padding-top: 10px; }
.foto-aviso { font-size: .75rem; color: var(--cinza-500); }

/* Seções */
.secao { padding: 72px 0; }
.kicker { font-family: Montserrat; font-size: .78rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--vermelho); margin: 0 0 8px; }
.ident-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; }
.exemplos-nota { color: #4a5470; font-size: .95rem; }
.situacoes { display: grid; gap: 14px; }
.sit { border: 1px solid #e2e7f2; border-radius: var(--raio); padding: 18px 20px; background: #f8faff; }
.sit-num { font-family: Montserrat; font-weight: 800; color: var(--azul); font-size: .8rem; letter-spacing: .2em; }
.sit h3 { margin: .3rem 0 .3rem; font-size: 1.05rem; }
.sit p { margin: 0; color: #3c4560; }

.conteudo { background: var(--azul-fundo); color: #fff; }
.aviso-editorial { background: rgba(255,255,255,.08); border: 1px dashed rgba(255,255,255,.4); border-radius: 10px; padding: 10px 14px; font-size: .9rem; color: var(--texto-claro); }
.topicos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 26px; }
.topico { background: #fff; color: var(--texto); border-radius: var(--raio); padding: 20px; }
.topico-num { display: inline-flex; width: 32px; height: 32px; border-radius: 50%; background: var(--azul); color: #fff; font-family: Montserrat; font-weight: 800; align-items: center; justify-content: center; margin-bottom: 10px; }
.topico h3 { font-size: 1rem; }
.topico p { font-size: .93rem; color: #3c4560; margin: 0; }
.sem-promessa { color: var(--cinza-300); font-size: .9rem; margin-top: 22px; border-left: 3px solid var(--vermelho); padding-left: 12px; }

.pal-grid { display: grid; grid-template-columns: 320px 1fr; gap: 40px; align-items: center; }
.foto-palestrante { aspect-ratio: 3/4; border-radius: 18px; background: linear-gradient(160deg, #0a1c5c, #040b22); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; text-align: center; border: 1px solid #d5dbee; }
.bio { display: grid; gap: 10px; margin: 18px 0; }
.bio > div { display: grid; grid-template-columns: 200px 1fr; gap: 12px; border-bottom: 1px solid #e6eaf3; padding-bottom: 10px; }
.bio dt { font-family: Montserrat; font-weight: 700; font-size: .85rem; }
.bio dd { margin: 0; }
.bio-nota { color: #4a5470; font-size: .92rem; }

.ingresso { background: #f3f5fa; }
.ingresso-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 24px; align-items: start; margin-top: 24px; }
.resumo-evento, .bloco-compra { background: #fff; border-radius: 16px; padding: 26px; border: 1px solid #e2e7f2; }
.resumo-evento dl > div { display: grid; grid-template-columns: 110px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px solid #eef1f7; }
.resumo-evento dt { font-family: Montserrat; font-weight: 700; font-size: .83rem; }
.resumo-evento dd { margin: 0; }
.nota-comercial { background: #fff7f7; border: 1px solid #f3c1c3; border-radius: 10px; padding: 12px 14px; font-size: .92rem; }
.bloco-compra { position: sticky; top: 88px; border-top: 4px solid var(--vermelho); }
.preco { font-family: Montserrat; font-weight: 800; font-size: 1.3rem; }
.checkout-aviso { font-size: .85rem; color: #7a2b2d; background: #fdf0f0; border: 1px dashed var(--vermelho); border-radius: 8px; padding: 8px 10px; }
.garantias { padding-left: 18px; font-size: .88rem; color: #4a5470; }

.duvidas { background: radial-gradient(1000px 520px at 12% -10%, rgba(255,120,120,.5), transparent 60%), radial-gradient(820px 520px at 92% 112%, rgba(227,30,36,.42), transparent 62%), linear-gradient(180deg, #3d0f16, #1c070b); color: #fff; }
.duvidas h2 { color: #fff; }
.duvidas details { color: var(--texto); }
.duvidas summary { color: var(--texto); }
.duvidas .kicker { border-color: rgba(255,255,255,.4); color: #ffd7d8; }
.duvidas .kicker::before { background: #fff; }
.duvidas .faq { display: grid; gap: 10px; margin-top: 20px; }
details { border: 1px solid #e2e7f2; border-radius: 12px; padding: 14px 16px; background: #fff; }
summary { cursor: pointer; font-family: Montserrat; font-weight: 600; }
details p { margin: .6rem 0 0; color: #3c4560; }

.fechamento { background: linear-gradient(180deg, var(--azul), var(--azul-fundo)); color: #fff; }
.fech-dados { color: var(--texto-claro); }

.rodape { background: var(--preto); color: var(--cinza-300); padding: 28px 0; font-size: .88rem; }
@media (max-width: 640px) { .rodape { padding-bottom: 90px; } }
.rodape-grid { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.rodape-marca { font-family: Montserrat; font-weight: 700; color: #fff; margin: 0 0 6px; }
.rodape nav { display: flex; gap: 14px; align-items: center; flex-wrap: wrap; }
.rodape a { color: var(--cinza-300); }
a.indisp { opacity: .6; text-decoration: none; border-bottom: 1px dashed; }

/* CTA fixo mobile */
.cta-fixo { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: rgba(0,15,54,.97); border-top: 1px solid rgba(255,255,255,.15); }

/* Responsivo */
@media (max-width: 960px) {
  .hero-grid, .ident-grid, .pal-grid, .ingresso-grid { grid-template-columns: 1fr; }
  .topicos { grid-template-columns: 1fr 1fr; }
  .hero { padding: 44px 0 0; }
  .hero--video .marquee { margin-top: 32px; }
  .hero-visual { order: 2; }
  .cartao-visual { aspect-ratio: 16/10; width: 100%; }
  .foto-hero { max-width: none; }
  .foto-hero img { aspect-ratio: 16/11; }
  .mono-grande { font-size: 3.4rem; }
  .bloco-compra { position: static; }
}
@media (max-width: 640px) {
  .nav { display: none; }
  .nav-toggle { display: block; }
  .menu-mobile:not([hidden]) { display: flex; }
  .topicos { grid-template-columns: 1fr; }
  .dados-essenciais li { flex: 1 1 45%; min-width: 0; }
  .bio > div, .resumo-evento dl > div { grid-template-columns: 1fr; gap: 2px; }
  .linha-tempo { grid-template-columns: 1fr 1fr; }
  .secao { padding: 52px 0; }
  body { padding-bottom: 0; }
}
/* ============ Palestrante: cargo, credenciais e linha do tempo ============ */
.cargo { font-family: Montserrat; font-weight: 600; color: var(--azul); margin: 0 0 12px; }
.credenciais { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.credenciais li { position: relative; padding-left: 30px; font-size: .95rem; }
.credenciais li::before { content: "✓"; position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-radius: 50%; background: var(--azul); color: #fff; font-size: .72rem; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.linha-tempo { list-style: none; padding: 18px 0 0; margin: 20px 0 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; border-top: 2px solid var(--vermelho); }
.linha-tempo li { display: grid; gap: 2px; }
.linha-tempo strong { font-family: Montserrat; font-size: .8rem; letter-spacing: .06em; color: var(--vermelho); }
.linha-tempo span { font-size: .85rem; color: #3c4560; }
.breve { font-weight: 500; }
.lista-nota { font-size: .88rem; color: #4a5470; background: #f2f5fc; border: 1px solid #d5dbee; border-radius: 8px; padding: 8px 10px; }

/* Vermelho mais vivo: kickers, números e passos */
.kicker { background: rgba(227,30,36,.07); border-color: rgba(227,30,36,.6); }
.sit-num { color: var(--vermelho); }
.topico-num { background: var(--vermelho); }
.passos { list-style: none; padding: 16px 0 0; margin: 16px 0 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; border-top: 2px solid var(--vermelho); }
.passos li { display: grid; gap: 2px; }
.passos strong { font-family: Montserrat; font-size: .85rem; }
.passos strong::before { content: "→ "; color: var(--vermelho); }
.passos span { font-size: .85rem; color: #3c4560; }
@media (max-width: 640px) { .passos { grid-template-columns: 1fr; } }

/* ============ Padrão GR Capital: botões pill com seta ============ */
.btn { border-radius: 999px; }
.btn-destaque::after { content: "→"; margin-left: 10px; display: inline-block; transition: transform .2s ease; }
.btn-destaque:hover::after { transform: translateX(4px); }
.btn-sm::after { content: none; }

/* ============ Header com sombra no scroll ============ */
.topo { transition: box-shadow .25s ease; }
.topo.scrolled { box-shadow: 0 10px 30px rgba(0,0,0,.35); }

/* ============ Preloader ============ */
#preloader { position: fixed; inset: 0; z-index: 200; background: var(--azul-fundo); display: flex; align-items: center; justify-content: center; transition: opacity .45s ease, visibility .45s; }
#preloader.oculto { opacity: 0; visibility: hidden; }
.preloader-inner { text-align: center; color: #fff; }
.preloader-inner p { font-family: Montserrat; letter-spacing: .34em; font-size: .8rem; margin: 12px 0 16px; }
.preloader-bar { display: block; width: 180px; height: 2px; margin: 0 auto; background: rgba(255,255,255,.15); overflow: hidden; border-radius: 2px; }
.preloader-bar::after { content: ""; display: block; width: 40%; height: 100%; background: var(--vermelho); border-radius: 2px; animation: preload 1.1s ease-in-out infinite; }
@keyframes preload { 0% { transform: translateX(-100%);} 100% { transform: translateX(450%);} }

/* ============ Kicker em badge pill ============ */
.kicker { display: inline-flex; align-items: center; gap: 8px; border: 1px solid rgba(227,30,36,.4); border-radius: 999px; padding: 6px 14px; }
.kicker::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--vermelho); }
.conteudo .kicker { border-color: rgba(255,255,255,.35); }

/* ============ Texto em gradiente ============ */
.grad { background: linear-gradient(90deg, #7ea2ff 0%, #58efe5 60%, #ff6b6f 110%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.fechamento .grad { background: linear-gradient(90deg, #9db8ff 0%, #58efe5 55%, #ff8084 105%); -webkit-background-clip: text; background-clip: text; }

/* ============ Reveal on scroll (estilo wow fadeInUp) ============ */
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visivel { opacity: 1; transform: none; }

/* ============ Marquee ============ */
.marquee { background: var(--vermelho); color: #fff; overflow: hidden; padding: 12px 0; }
.marquee-track { display: inline-flex; gap: 18px; align-items: center; white-space: nowrap; font-family: Montserrat; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; font-size: .85rem; animation: marquee 26s linear infinite; }
.marquee-track i { font-style: normal; opacity: .7; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ============ Hovers nos cards + zoom nas fotos ============ */
.sit, .topico { transition: transform .25s ease, box-shadow .25s ease; }
.sit:hover, .topico:hover { transform: translateY(-6px); box-shadow: 0 18px 40px rgba(0,30,98,.14); }
.foto-hero img, .foto-real img { transition: transform .6s ease; }
.foto-hero:hover img, .foto-real:hover img { transform: scale(1.03); }
.foto-real, .foto-hero { overflow: hidden; }
.foto-hero { border-radius: 20px; }

/* ============ Faixa CTA final ============ */
.fechamento { position: relative; overflow: hidden; }
.fechamento::before { content: ""; position: absolute; inset: auto -20% -55% -20%; height: 90%; border: 2px solid rgba(77,124,255,.35); border-bottom: none; border-radius: 50% 50% 0 0; pointer-events: none; }
.fechamento h2 { font-size: clamp(1.7rem, 4vw, 2.6rem); }
.cta-centro { display: inline-block; }

/* ============ Voltar ao topo ============ */
.voltar-topo { position: fixed; right: 20px; bottom: 20px; z-index: 60; width: 46px; height: 46px; border-radius: 50%; border: 1px solid rgba(255,255,255,.3); background: var(--azul); color: #fff; font-size: 1.2rem; cursor: pointer; box-shadow: 0 12px 28px rgba(0,0,0,.35); transition: transform .2s ease, background .2s ease; }
.voltar-topo:hover { transform: translateY(-3px); background: var(--vermelho); }
@media (max-width: 640px) { .voltar-topo { bottom: 84px; } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .btn { transition: none; }
  .reveal { opacity: 1; transform: none; transition: none; }
  .marquee-track, .preloader-bar::after { animation: none; }
  .btn-destaque::after { transition: none; }
}
