/* ============================================================
   FORMAÇÃO CORRETOR CAMPEÃO — V2 PREMIUM
   Arquivo principal de estilos
   ============================================================
   COMO PERSONALIZAR:
   → Altere as variáveis no bloco :root abaixo para reestilizar
     toda a página de uma vez.
   ============================================================ */

/* ── VARIÁVEIS GLOBAIS ─────────────────────────────────────── */
:root {
  /* CORES PRINCIPAIS — edite aqui para mudar o tema todo */
  --gold:          #C9A227;       /* cor de destaque principal (dourado) */
  --gold-light:    #E5B93A;       /* dourado claro (hover, brilhos) */
  --gold-dark:     #A07B10;       /* dourado escuro (sombras) */
  --gold-glow:     rgba(201,162,39,.25); /* brilho do dourado */

  --bg-base:       #0a0a0a;       /* fundo principal */
  --bg-alt:        #111111;       /* fundo de seções alternadas */
  --bg-card:       #161616;       /* fundo dos cards */
  --bg-card-hover: #1d1d1d;       /* fundo dos cards no hover */
  --bg-deeper:     #080808;       /* fundo de seções especiais */

  --text-primary:  #F5F0E8;       /* texto principal */
  --text-secondary:#A09880;       /* texto secundário */
  --text-muted:    #5a5245;       /* texto discreto */

  --border:        rgba(201,162,39,.18); /* bordas */
  --border-card:   rgba(201,162,39,.12);

  /* TIPOGRAFIA */
  --font-display:  'Montserrat', sans-serif;
  --font-body:     'Inter', sans-serif;

  /* ESPAÇAMENTOS */
  --section-py:    clamp(64px, 8vw, 112px);
  --container:     1160px;
  --radius:        12px;
  --radius-lg:     20px;

  /* TRANSIÇÕES */
  --ease:          cubic-bezier(.22,.61,.36,1);
  --dur:           .35s;
}

/* ── RESET & BASE ──────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-body);
  background-color: var(--bg-base);
  color: var(--text-primary);
  line-height: 1.65;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; display: block; }
a   { text-decoration: none; color: inherit; }

/* ── CONTAINER ─────────────────────────────────────────────── */
.container {
  width: min(var(--container), 100% - 40px);
  margin-inline: auto;
}

/* ── TIPOGRAFIA UTILITÁRIA ─────────────────────────────────── */
em { font-style: normal; color: var(--gold); }

/* ── BOTÕES ────────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  letter-spacing: .06em;
  border-radius: 50px;
  border: none;
  cursor: pointer;
  transition: all var(--dur) var(--ease);
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

/* Dourado */
.btn--gold {
  background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 50%, var(--gold-dark) 100%);
  color: #0a0a0a;
  box-shadow: 0 0 0 1px rgba(201,162,39,.4), 0 8px 32px rgba(201,162,39,.28);
}
.btn--gold:hover {
  background: linear-gradient(135deg, #f0c740 0%, var(--gold-light) 50%, var(--gold) 100%);
  box-shadow: 0 0 0 1px rgba(201,162,39,.6), 0 12px 40px rgba(201,162,39,.45);
  transform: translateY(-2px);
}
.btn--gold:active { transform: translateY(0); }

/* Efeito brilho (shine) */
.btn--shine::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%; height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent);
  transition: left .6s var(--ease);
}
.btn--shine:hover::before { left: 160%; }

/* Outline */
.btn--outline {
  background: transparent;
  color: var(--text-muted);
  border: 1.5px solid rgba(255,255,255,.08);
}
.btn--outline:disabled { cursor: not-allowed; opacity: .45; }

/* Tamanhos */
.btn--lg { padding: 18px 44px; font-size: 1rem; }
.btn--sm { padding: 10px 22px; font-size: .8rem; }
.btn--block { width: 100%; }

/* ── BADGE ─────────────────────────────────────────────────── */
.badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold);
  border: 1px solid var(--border);
  border-radius: 50px;
  padding: 8px 20px;
  background: rgba(201,162,39,.06);
  backdrop-filter: blur(8px);
}
.badge--glow {
  box-shadow: 0 0 18px var(--gold-glow), 0 0 40px rgba(201,162,39,.08);
}

/* ── SECTION HEADERS ───────────────────────────────────────── */
.section-header {
  text-align: center;
  margin-bottom: clamp(40px, 5vw, 64px);
}
.section-label {
  display: inline-block;
  font-family: var(--font-display);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .22em;
  color: var(--gold);
  margin-bottom: 16px;
  position: relative;
}
.section-label::before,
.section-label::after {
  content: '';
  display: inline-block;
  width: 28px;
  height: 1px;
  background: var(--gold);
  vertical-align: middle;
  margin: 0 10px;
  opacity: .6;
}
.section-title {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 4vw, 3rem);
  font-weight: 900;
  line-height: 1.12;
  text-transform: uppercase;
  letter-spacing: -.01em;
  color: var(--text-primary);
  margin-bottom: 16px;
}
.section-subtitle {
  max-width: 640px;
  margin-inline: auto;
  color: var(--text-secondary);
  font-size: .975rem;
  line-height: 1.7;
}

/* ── SEÇÕES ────────────────────────────────────────────────── */
.section {
  padding-block: var(--section-py);
}
.section--alt    { background: var(--bg-alt); }
.section--dark-deeper { background: var(--bg-deeper); }

/* ── STICKY BAR ────────────────────────────────────────────── */
.sticky-bar {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  padding: 12px 20px;
  background: rgba(10,10,10,.9);
  backdrop-filter: blur(14px) saturate(180%);
  border-bottom: 1px solid var(--border);
  transform: translateY(-100%);
  transition: transform .4s var(--ease);
}
.sticky-bar.is-visible { transform: translateY(0); }
.sticky-bar__text {
  font-size: .82rem;
  font-weight: 600;
  color: var(--text-secondary);
  letter-spacing: .02em;
}
.sticky-bar__text i { color: var(--gold); margin-right: 6px; }


/* ============================================================
   HERO
============================================================ */
.hero {
  position: relative;
  min-height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%,   rgba(201,162,39,.10) 0%, transparent 65%),
    radial-gradient(ellipse 60% 40% at 100% 80%,  rgba(201,162,39,.04) 0%, transparent 60%),
    var(--bg-base);
  overflow: hidden;
  text-align: center;
  padding-block: 120px 80px;
}

/* Linha decorativa */
.hero::after {
  content: '';
  position: absolute;
  bottom: 0; left: 50%; transform: translateX(-50%);
  width: min(800px, 90%);
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: .35;
}

/* Partículas flutuantes */
.hero__particles {
  position: absolute; inset: 0; pointer-events: none; z-index: 0;
}
.hero__particles span {
  position: absolute;
  display: block;
  width: 2px; height: 2px;
  border-radius: 50%;
  background: var(--gold);
  animation: float-particle 10s ease-in-out infinite;
  opacity: 0;
}
.hero__particles span:nth-child(1) { top: 20%; left: 15%; animation-delay: 0s;   animation-duration: 9s;  }
.hero__particles span:nth-child(2) { top: 60%; left: 8%;  animation-delay: 2s;   animation-duration: 12s; }
.hero__particles span:nth-child(3) { top: 35%; right: 12%; animation-delay: 1s;  animation-duration: 10s; }
.hero__particles span:nth-child(4) { top: 70%; right: 20%; animation-delay: 3s;  animation-duration: 8s;  }
.hero__particles span:nth-child(5) { top: 80%; left: 40%; animation-delay: 1.5s; animation-duration: 11s; }
.hero__particles span:nth-child(6) { top: 15%; right: 35%; animation-delay: 4s;  animation-duration: 9s;  }

@keyframes float-particle {
  0%   { opacity: 0; transform: translateY(0) scale(1); }
  20%  { opacity: .8; }
  80%  { opacity: .4; }
  100% { opacity: 0; transform: translateY(-80px) scale(0); }
}

.hero__inner {
  position: relative; z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(16px, 2.5vw, 26px);
}

.hero__eyebrow {
  font-size: clamp(.75rem, 1.5vw, .9rem);
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.hero__title {
  font-family: var(--font-display);
  font-size: clamp(3rem, 9vw, 7.5rem);
  font-weight: 900;
  line-height: .95;
  text-transform: uppercase;
  letter-spacing: -.02em;
  color: var(--text-primary);
}
.hero__title em {
  display: block;
  -webkit-text-stroke: 2px var(--gold);
  color: transparent;
  transition: color .3s;
}
/* Versão sólida (para melhor leitura em mobile) */
@media (max-width: 640px) {
  .hero__title em { -webkit-text-stroke: 0; color: var(--gold); }
}

.hero__tagline {
  font-family: var(--font-display);
  font-size: clamp(.7rem, 1.5vw, .85rem);
  font-weight: 600;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

/* Meta (data / hora / local) */
.hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 0;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--border-card);
  border-radius: 50px;
  padding: 14px 28px;
  backdrop-filter: blur(8px);
}
.hero__meta-item {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .82rem;
  font-weight: 500;
  color: var(--text-primary);
  padding: 0 16px;
}
.hero__meta-item i { color: var(--gold); font-size: .9rem; }
.hero__meta-divider {
  width: 1px; height: 18px;
  background: var(--border);
}

/* CTA do hero */
.hero__cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: 8px;
}
.hero__cta-note {
  font-size: .8rem;
  color: var(--text-secondary);
  letter-spacing: .04em;
}
.hero__cta-note i { color: var(--gold); }

/* Seta de scroll */
.hero__scroll-indicator {
  margin-top: 32px;
}
.hero__scroll-indicator span {
  display: block;
  width: 24px; height: 24px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg);
  animation: bounce-down 1.5s ease-in-out infinite;
  opacity: .5;
}
@keyframes bounce-down {
  0%,100% { transform: rotate(45deg) translateY(0); }
  50%      { transform: rotate(45deg) translateY(8px); }
}


/* ============================================================
   PROVA SOCIAL / NÚMEROS
============================================================ */
.social-proof {
  background: var(--bg-alt);
  border-top: 1px solid var(--border-card);
  border-bottom: 1px solid var(--border-card);
  padding-block: 40px;
}
.social-proof__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border-card);
  border-radius: var(--radius);
  overflow: hidden;
}
.stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  padding: 32px 20px;
  background: var(--bg-alt);
  text-align: center;
  transition: background var(--dur) var(--ease);
}
.stat-card:hover { background: var(--bg-card-hover); }
.stat-card__number {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.stat-card__label {
  font-size: .75rem;
  font-weight: 500;
  color: var(--text-secondary);
  letter-spacing: .05em;
  text-transform: uppercase;
}


/* ============================================================
   PARA QUEM É — BENEFÍCIOS
============================================================ */
.benefits-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.benefit-card {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: var(--radius);
  padding: 22px 24px;
  transition: border-color var(--dur) var(--ease),
              background var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
.benefit-card:hover {
  border-color: rgba(201,162,39,.35);
  background: var(--bg-card-hover);
  transform: translateY(-3px);
}
.benefit-card__icon {
  flex-shrink: 0;
  width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  font-size: .95rem;
  margin-top: 2px;
}
.benefit-card span {
  font-size: .925rem;
  color: var(--text-primary);
  line-height: 1.55;
}
.benefit-card strong { color: var(--gold-light); font-weight: 600; }


/* ============================================================
   MÓDULOS / TEMAS
============================================================ */
.modules-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.module-card {
  position: relative;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: var(--radius-lg);
  padding: 36px 30px 30px;
  overflow: hidden;
  transition: border-color var(--dur) var(--ease),
              transform var(--dur) var(--ease),
              box-shadow var(--dur) var(--ease);
}
.module-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity: 0;
  transition: opacity var(--dur) var(--ease);
}
.module-card:hover {
  border-color: rgba(201,162,39,.3);
  transform: translateY(-4px);
  box-shadow: 0 20px 48px rgba(0,0,0,.4);
}
.module-card:hover::before { opacity: 1; }

.module-card__num {
  position: absolute;
  top: 24px; right: 28px;
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 900;
  color: rgba(201,162,39,.07);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}
.module-card__icon {
  width: 50px; height: 50px;
  border-radius: 12px;
  background: rgba(201,162,39,.1);
  border: 1px solid rgba(201,162,39,.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  font-size: 1.3rem;
  margin-bottom: 20px;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.module-card:hover .module-card__icon {
  background: rgba(201,162,39,.18);
  border-color: rgba(201,162,39,.4);
}
.module-card__title {
  font-family: var(--font-display);
  font-size: 1.05rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-primary);
  margin-bottom: 12px;
}
.module-card__desc {
  font-size: .88rem;
  color: var(--text-secondary);
  line-height: 1.65;
}


/* ============================================================
   MENTOR
============================================================ */
.mentor-layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 64px;
  align-items: center;
}

/* Imagem */
.mentor-image-wrap {
  position: relative;
}
.mentor-image {
  width: 100%;
  border-radius: var(--radius-lg);
  object-fit: cover;
  aspect-ratio: 3/4;
  filter: grayscale(15%) contrast(1.05);
  box-shadow: 0 40px 80px rgba(0,0,0,.5), 0 0 0 1px rgba(201,162,39,.1);
  transition: filter var(--dur) var(--ease);
}
.mentor-image-wrap:hover .mentor-image { filter: grayscale(0%) contrast(1.1); }

/* Moldura dourada */
.mentor-image-wrap::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: calc(var(--radius-lg) + 2px);
  background: linear-gradient(145deg, var(--gold), transparent 55%, var(--gold-dark));
  z-index: -1;
  opacity: .5;
}

.mentor-image-badge {
  position: absolute;
  bottom: 24px;
  left: 50%; transform: translateX(-50%);
  background: rgba(10,10,10,.88);
  backdrop-filter: blur(12px);
  border: 1px solid var(--border);
  border-radius: 50px;
  padding: 10px 22px;
  font-family: var(--font-display);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  white-space: nowrap;
  display: flex; align-items: center; gap: 8px;
}
.mentor-image-badge i { color: var(--gold); }

/* Conteúdo */
.mentor-name {
  font-family: var(--font-display);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--text-primary);
  margin-bottom: 6px;
  letter-spacing: -.01em;
}
.mentor-role {
  font-size: .82rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 28px;
}
.mentor-bio {
  font-size: .93rem;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 14px;
}
.mentor-bio strong { color: var(--text-primary); font-weight: 600; }

.mentor-creds {
  list-style: none;
  margin-top: 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mentor-creds li {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .9rem;
  font-weight: 500;
  color: var(--text-primary);
}
.mentor-creds i { color: var(--gold); font-size: .9rem; }


/* ============================================================
   BASTIDORES / AUTORIDADE
============================================================ */
.specialists-photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-bottom: 48px;
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.specialists-photos__img img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  filter: grayscale(20%);
  transition: filter var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.specialists-photos__img:hover img {
  filter: grayscale(0%);
  transform: scale(1.02);
}
.specialists-photos__img { overflow: hidden; }

.authority-intro {
  text-align: center;
  margin-bottom: 40px;
}
.authority-intro p {
  font-size: 1rem;
  color: var(--text-secondary);
  max-width: 680px;
  margin-inline: auto;
}
.authority-intro strong { color: var(--text-primary); }

.specialists-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-bottom: 56px;
}
.specialist-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: var(--radius);
  padding: 28px 20px;
  text-align: center;
  transition: border-color var(--dur) var(--ease),
              transform var(--dur) var(--ease);
}
.specialist-card:hover {
  border-color: rgba(201,162,39,.3);
  transform: translateY(-4px);
}
.specialist-card__icon {
  font-size: 1rem;
  color: var(--gold);
  margin-bottom: 14px;
  opacity: .7;
}
.specialist-card__name {
  font-family: var(--font-display);
  font-size: .88rem;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--text-primary);
  margin-bottom: 6px;
  letter-spacing: .03em;
}
.specialist-card__role {
  font-size: .78rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Pilares de autoridade */
.authority-pillars {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.authority-pillar {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  background: rgba(201,162,39,.04);
  border: 1px solid rgba(201,162,39,.12);
  border-radius: var(--radius);
  padding: 32px 24px;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.authority-pillar:hover {
  background: rgba(201,162,39,.09);
  border-color: rgba(201,162,39,.25);
}
.authority-pillar > i {
  font-size: 1.6rem;
  color: var(--gold);
}
.authority-pillar p {
  font-size: .9rem;
  color: var(--text-secondary);
  line-height: 1.7;
}
.authority-pillar strong { color: var(--text-primary); }


/* ============================================================
   PREÇOS / LOTES
============================================================ */
.pricing-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: start;
}
.pricing-card {
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}

/* Lote ativo */
.pricing-card--active {
  border-color: rgba(201,162,39,.4);
  background: linear-gradient(160deg, rgba(201,162,39,.07) 0%, var(--bg-card) 60%);
  box-shadow: 0 0 0 1px rgba(201,162,39,.15), 0 32px 64px rgba(0,0,0,.4);
  transform: translateY(-8px);
}
.pricing-card--active:hover { transform: translateY(-12px); }

.pricing-card--soon { opacity: .55; filter: grayscale(40%); }

.pricing-card__badge {
  position: absolute;
  top: -14px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  color: #0a0a0a;
  font-family: var(--font-display);
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  padding: 5px 18px;
  border-radius: 50px;
  white-space: nowrap;
}
.pricing-card__badge--soon {
  background: var(--bg-card);
  color: var(--text-muted);
  border: 1px solid var(--border);
}

.pricing-card__name {
  font-family: var(--font-display);
  font-size: 1.1rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--text-primary);
}
.pricing-card__desc {
  font-size: .8rem;
  color: var(--text-secondary);
  margin-top: 4px;
}

.pricing-card__price {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pricing-card__installments {
  font-size: .75rem;
  color: var(--text-secondary);
  text-transform: uppercase;
  letter-spacing: .06em;
}
.pricing-card__value {
  font-family: var(--font-display);
  font-size: 2.8rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pricing-card__value.muted { color: var(--text-muted); }
.pricing-card__value sup {
  font-size: 1.1rem;
  vertical-align: super;
  margin-left: 2px;
  font-weight: 700;
}
.pricing-card__cash {
  font-size: .8rem;
  color: var(--text-secondary);
}
.pricing-card__urgency {
  text-align: center;
  font-size: .75rem;
  color: var(--gold);
  font-weight: 600;
  letter-spacing: .04em;
  margin-top: -6px;
}
.pricing-card__urgency i { margin-right: 5px; }


/* ============================================================
   LOCAL / VENUE
============================================================ */
.venue-card {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  background: var(--bg-card);
  border: 1px solid var(--border-card);
  border-radius: var(--radius-lg);
  padding: 40px 44px;
  max-width: 760px;
  margin-inline: auto;
  transition: border-color var(--dur) var(--ease);
}
.venue-card:hover { border-color: rgba(201,162,39,.3); }

.venue-card__icon {
  flex-shrink: 0;
  width: 60px; height: 60px;
  border-radius: 14px;
  background: rgba(201,162,39,.1);
  border: 1px solid rgba(201,162,39,.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  font-size: 1.5rem;
}
.venue-card__name {
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--text-primary);
  margin-bottom: 10px;
}
.venue-card__address {
  font-size: .88rem;
  color: var(--text-secondary);
  margin-bottom: 16px;
  display: flex; align-items: flex-start; gap: 8px;
}
.venue-card__address i { color: var(--gold); margin-top: 2px; flex-shrink: 0; }
.venue-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.venue-card__meta span {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .85rem;
  font-weight: 500;
  color: var(--text-primary);
}
.venue-card__meta i { color: var(--gold); }


/* ============================================================
   CTA FINAL
============================================================ */
.cta-final {
  position: relative;
  padding-block: var(--section-py);
  text-align: center;
  overflow: hidden;
  background:
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(201,162,39,.12) 0%, transparent 70%),
    var(--bg-base);
}
.cta-final__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(0deg, var(--bg-base) 0%, transparent 40%, transparent 60%, var(--bg-base) 100%);
  pointer-events: none;
}
.cta-final__inner {
  position: relative; z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.cta-final__title {
  font-family: var(--font-display);
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 1.1;
  color: var(--text-primary);
}
.cta-final__sub {
  max-width: 560px;
  font-size: .95rem;
  color: var(--text-secondary);
  line-height: 1.7;
}
.cta-final__note {
  font-size: .8rem;
  color: var(--text-secondary);
  letter-spacing: .04em;
}
.cta-final__note i { color: var(--gold); }


/* ============================================================
   FOOTER
============================================================ */
.footer {
  border-top: 1px solid var(--border-card);
  padding-block: 40px;
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
}
.footer__brand {
  font-family: var(--font-display);
  font-size: .9rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 4px;
}
.footer__copy {
  font-size: .78rem;
  color: var(--text-muted);
}
.footer__disclaimer {
  font-size: .73rem;
  color: var(--text-muted);
  max-width: 520px;
  opacity: .7;
}


/* ============================================================
   ANIMAÇÕES DE ENTRADA (AOS manual)
============================================================ */
[data-aos] {
  opacity: 0;
  transition: opacity .65s var(--ease), transform .65s var(--ease);
}
[data-aos="fade-up"]    { transform: translateY(36px); }
[data-aos="fade-down"]  { transform: translateY(-24px); }
[data-aos="fade-right"] { transform: translateX(-36px); }
[data-aos="fade-left"]  { transform: translateX(36px); }
[data-aos="zoom-in"]    { transform: scale(.88); }

[data-aos].is-visible {
  opacity: 1;
  transform: none;
}


/* ============================================================
   RESPONSIVO
============================================================ */
@media (max-width: 1024px) {
  .mentor-layout {
    grid-template-columns: 340px 1fr;
    gap: 48px;
  }
  .specialists-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .authority-pillars {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 820px) {
  .mentor-layout {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .mentor-image { max-height: 480px; margin-inline: auto; }
  .mentor-content { text-align: center; }
  .mentor-creds  { align-items: center; }
  .social-proof__grid { grid-template-columns: repeat(2, 1fr); }
  .modules-grid { grid-template-columns: 1fr; }
  .pricing-grid { grid-template-columns: 1fr; }
  .pricing-card--active { transform: none; }
  .specialists-photos { grid-template-columns: 1fr; }
  .specialists-photos__img img { height: 280px; }
  .authority-pillars { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .benefits-grid { grid-template-columns: 1fr; }
  .hero__meta {
    flex-direction: column;
    border-radius: var(--radius);
    padding: 16px 20px;
    gap: 12px;
  }
  .hero__meta-divider { width: 60%; height: 1px; }
  .sticky-bar { flex-direction: column; gap: 10px; padding: 12px 16px; }
  .specialists-grid { grid-template-columns: repeat(2, 1fr); }
  .venue-card { flex-direction: column; padding: 28px; }
}
