/* ==========================================================================
   BLACK BORA 2026 — Estilos (mobile-first, referência 390 px)
   Paleta amostrada diretamente da prancha oficial aprovada.
   ========================================================================== */

:root {
  /* Fundos */
  --preto: #080608;
  --grafite: #141115;
  --grafite-2: #1c181e;
  --linha: #2f2734;

  /* Identidade */
  --magenta: #f803f8;   /* molduras */
  --roxo: #d41ef9;      /* palavra BORA */
  --roxo-etiqueta: #b400d4;
  --roxo-suave: #e58bff; /* roxo para textos pequenos (contraste) */
  --amarelo: #e2f600;   /* etiquetas e botões prioritários */
  --amarelo-hover: #efff3a;
  --lima: #98f800;      /* detalhes complementares */
  --fogo: #ff4a12;      /* somente fogo */
  --branco: #ffffff;
  --texto: #f4f0f5;
  --texto-2: #c4bcc8;
  --texto-3: #9a90a0;
  --whats: #25d366;

  --raio: 18px;
  --raio-p: 12px;
  --sombra-roxa: 0 0 0 1px rgba(248, 3, 248, .35), 0 10px 40px -12px rgba(212, 30, 249, .45);
  --brilho-amarelo: 0 0 0 0 rgba(226, 246, 0, 0), 0 8px 28px -8px rgba(226, 246, 0, .55);

  --fonte: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --gutter: 20px;
  --barra-h: 64px;
  --seguro-baixo: env(safe-area-inset-bottom, 0px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--fonte);
  font-size: 16px;
  line-height: 1.55;
  color: var(--texto);
  background-color: var(--preto);
  /* textura discreta, como nas peças aprovadas */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .045 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}
body.tem-barra { padding-bottom: calc(var(--barra-h) + var(--seguro-baixo) + 8px); }

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
[hidden] { display: none !important; }

.ic {
  width: 1.25em; height: 1.25em; flex: none;
  fill: none; stroke: currentColor; stroke-width: 1.9;
  stroke-linecap: round; stroke-linejoin: round;
}

.container { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 var(--gutter); }

/* Foco visível */
:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; border-radius: 6px; }

.pular {
  position: absolute; left: 12px; top: -60px; z-index: 100;
  background: var(--amarelo); color: #000; padding: 10px 14px; border-radius: 10px;
  font-weight: 800; text-decoration: none;
}
.pular:focus { top: 12px; }

/* Elementos oficiais recortados: bordas esfumadas para fundir ao fundo
   (removido automaticamente quando houver arquivos transparentes) */
.marca-oficial--esfumar {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent), linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-composite: source-in;
          mask-image: linear-gradient(90deg, transparent, #000 9%, #000 91%, transparent), linear-gradient(180deg, transparent, #000 8%, #000 92%, transparent);
          mask-composite: intersect;
}
.marca-oficial--borda {
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 2.5%, #000 97.5%, transparent), linear-gradient(180deg, transparent, #000 2.5%, #000 97.5%, transparent);
  -webkit-mask-composite: source-in;
          mask-image: linear-gradient(90deg, transparent, #000 2.5%, #000 97.5%, transparent), linear-gradient(180deg, transparent, #000 2.5%, #000 97.5%, transparent);
          mask-composite: intersect;
}
.marca-transparente .marca-oficial--borda,
.marca-transparente .marca-oficial--esfumar { -webkit-mask-image: none; mask-image: none; }

/* ---------- Botões ---------- */
.btn {
  --btn-bg: transparent; --btn-cor: var(--texto); --btn-borda: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 14px 22px;
  border-radius: 14px; border: 2px solid var(--btn-borda);
  background: var(--btn-bg); color: var(--btn-cor);
  font: 800 15px/1.2 var(--fonte); letter-spacing: .02em; text-transform: uppercase;
  text-decoration: none; text-align: center; cursor: pointer;
  transition: transform .15s ease, background-color .2s ease, box-shadow .25s ease, border-color .2s ease;
  -webkit-tap-highlight-color: transparent; user-select: none;
}
.btn .ic { width: 22px; height: 22px; }
.btn:active { transform: scale(.97); }
.btn--grande { min-height: 58px; font-size: 16px; width: 100%; }
.btn--pequeno { min-height: 44px; padding: 10px 16px; font-size: 13px; }

.btn--primario { --btn-bg: var(--amarelo); --btn-cor: #0a070a; --btn-borda: var(--amarelo); box-shadow: var(--brilho-amarelo); }
.btn--primario .ic { stroke-width: 2.1; }
.btn--primario:hover { --btn-bg: var(--amarelo-hover); }

.btn--secundario { --btn-bg: rgba(212, 30, 249, .26); --btn-cor: var(--branco); --btn-borda: var(--roxo); box-shadow: 0 0 0 1px rgba(248, 3, 248, .25), 0 8px 24px -12px rgba(212, 30, 249, .8); }
.btn--secundario:hover { --btn-bg: rgba(212, 30, 249, .38); }
.btn--secundario .ic { color: var(--branco); }

.btn--contorno { --btn-cor: var(--amarelo); --btn-borda: rgba(226, 246, 0, .55); font-size: 14px; }
.btn--contorno:hover { --btn-borda: var(--amarelo); background: rgba(226,246,0,.06); }

/* Botão sem link configurado: nunca leva a endereço fictício */
.is-pendente { opacity: .5; cursor: not-allowed; box-shadow: none !important; filter: grayscale(.3); }
.is-pendente:active { transform: none; }
.pendente-rotulo {
  display: block; font-size: 10px; font-weight: 700; letter-spacing: .08em;
  opacity: .9; text-transform: uppercase; margin-top: 2px;
}
.btn.is-pendente { flex-wrap: wrap; }
.btn.is-pendente .pendente-rotulo { flex-basis: 100%; margin-top: -4px; }

.acoes { display: grid; gap: 12px; }

.link-botao {
  background: none; border: 0; padding: 8px 4px; color: var(--texto-2);
  font: 600 13px var(--fonte); text-decoration: underline; text-underline-offset: 3px; cursor: pointer;
}

/* ---------- Tipografia ---------- */
.titulo {
  margin: 0; font-weight: 900; font-size: clamp(26px, 7.2vw, 44px);
  line-height: 1.08; letter-spacing: -.01em; text-transform: uppercase; text-wrap: balance;
}

.sobretitulo {
  display: inline-flex; align-items: center; gap: 8px; margin: 0 0 12px;
  font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--amarelo);
}
.ponto { width: 8px; height: 8px; border-radius: 2px; background: var(--magenta); transform: rotate(45deg); box-shadow: 0 0 10px var(--magenta); }
.secao__sub { margin: 12px 0 0; color: var(--texto-2); font-size: 16px; font-weight: 500; text-wrap: pretty; }

.secao { padding: 44px 0; position: relative; }
.secao__cabecalho { margin-bottom: 22px; }

/* ==========================================================================
   1. HERO
   ========================================================================== */
.hero {
  position: relative; overflow: hidden;
  padding: calc(6px + env(safe-area-inset-top, 0px)) 0 12px;
  /* fundo liso atrás das artes recortadas (que ainda não têm transparência);
     o brilho roxo fica abaixo delas, atrás do texto */
  background:
    radial-gradient(110% 38% at 20% 78%, rgba(212, 30, 249, .16), transparent 70%);
}

.hero__interno { max-width: 1120px; margin: 0 auto; padding: 0 var(--gutter); }
.hero__assinatura {
  margin: 0 0 2px; font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase;
  color: var(--texto-2); display: flex; align-items: center; gap: 8px;
}
.hero__assinatura::before { content: ""; width: 18px; height: 2px; background: var(--lima); border-radius: 2px; }

.hero__marcas { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); align-items: center; margin: 0 -4px 0 -8px; }
/* Arte 3D com transparência real (fundo removido no próprio arquivo, 04/11/2026):
   sem máscara de esfumado, o neon e os reflexos aparecem por inteiro. */
.hero__arte-3d {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}

.hero__texto { position: relative; z-index: 3; margin-top: 6px; }
/* Chamada da abertura: elegante, sem competir com os botões */
.hero__titulo {
  margin: 0; font-weight: 800; font-size: clamp(24px, 6.6vw, 30px); line-height: 1.12;
  letter-spacing: -.015em; color: var(--branco); text-wrap: balance;
}
.hero__assinatura-sep { opacity: .7; }
.hero__titulo + .hero__sub { margin: 10px 0 14px; }
.hero__sub { margin: 6px 0 10px; font-size: 14.5px; line-height: 1.4; font-weight: 600; color: var(--texto); max-width: 32ch; text-wrap: pretty; }

.hero .acoes { gap: 8px; }
.hero .btn--grande { min-height: 52px; padding-block: 12px; }
.hero .btn--secundario.btn--grande { min-height: 46px; }
.acao-principal { display: grid; gap: 4px; }
.acao-nota { margin: 0; text-align: center; font-size: 12px; font-weight: 600; color: var(--texto-2); }

/* Faixa editorial "Operação Black Bora ativada" */
.operacao {
  position: relative; border-block: 1px dashed rgba(248, 3, 248, .55);
  background: linear-gradient(90deg, rgba(212, 30, 249, .1), rgba(8, 6, 8, 0) 50%, rgba(212, 30, 249, .1));
}
.operacao__interno {
  max-width: 1120px; margin: 0 auto; padding: 8px var(--gutter);
  display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 14px; text-align: center;
}
/* Movimento contínuo da direita para a esquerda (ticker).
   A trilha tem 4 grupos idênticos e anda exatamente 1 grupo (25%): ao recomeçar,
   o 2º grupo está onde o 1º estava — sem salto e sem espaço vazio.
   Só opacity/transform; respeita movimento reduzido. */
/* Contêiner fixo (bordas não se movem): uma única linha, sem quebra, recortada nas laterais.
   A altura mínima reproduz a altura original da faixa parada em cada largura. */
.operacao__interno {
  max-width: none; padding-inline: 0; display: flex; flex-wrap: nowrap; align-items: center;
  overflow: hidden; min-height: 83px;
}
@media (min-width: 640px) { .operacao__interno { min-height: 66px; } }
@media (min-width: 900px) { .operacao__interno { min-height: 0; } }
.operacao__trilha {
  display: flex; flex-wrap: nowrap; flex: none; width: max-content;
  animation: operacao-ticker var(--operacao-duracao, 26s) linear infinite;
  will-change: transform;
}
.operacao__trilha > .operacao__grupo--copia { display: flex !important; } /* cópias só aparecem com este CSS */
.operacao__grupo {
  flex: none; display: flex; flex-wrap: nowrap; align-items: center; gap: 4px 14px;
  padding-inline-end: 44px; white-space: nowrap;
}
.operacao__grupo .operacao__info { flex-wrap: nowrap; }
.operacao__grupo .operacao__sep { display: inline; }
@keyframes operacao-ticker {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-25%, 0, 0); }
}
.operacao__selo {
  margin: 0; display: inline-flex; align-items: center; gap: 7px;
  padding: 3px 9px; border: 2px solid var(--lima); border-radius: 7px; transform: rotate(-2deg);
  color: var(--lima); font-size: 12px; font-weight: 900; font-style: italic; letter-spacing: .1em; text-transform: uppercase;
}
.operacao__selo .ic { width: 16px; height: 16px; stroke-width: 2.3; }
.operacao__info { margin: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--texto-2); display: flex; flex-wrap: wrap; justify-content: center; gap: 0 8px; }
.operacao__sep { color: var(--magenta); display: none; }
@media (min-width: 640px) { .operacao__sep { display: inline; } }
@media (min-width: 900px) { .operacao__trilha { --operacao-duracao: 32s; } }
/* Movimento reduzido: faixa parada, exatamente como antes */
@media (prefers-reduced-motion: reduce) {
  .operacao__interno { max-width: 1120px; margin-inline: auto; padding-inline: var(--gutter); overflow: visible; min-height: 0; display: block; }
  .operacao__trilha { animation: none; width: auto; justify-content: center; }
  .operacao__grupo { flex: 1 1 auto; min-width: 0; flex-wrap: wrap; justify-content: center; padding-inline-end: 0; white-space: normal; text-align: center; }
  .operacao__grupo .operacao__info { flex-wrap: wrap; }
  .operacao__trilha > .operacao__grupo--copia { display: none !important; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 639px) { .operacao__grupo .operacao__sep { display: none; } }

.caminho__texto { display: grid; gap: 3px; }
.caminho__texto strong { font-size: 15px; font-weight: 800; text-transform: uppercase; line-height: 1.2; letter-spacing: .01em; }
.caminho__texto span { font-size: 14px; color: var(--texto-2); line-height: 1.4; }

/* ==========================================================================
   3. OFERTAS
   ========================================================================== */
.ofertas { background: linear-gradient(180deg, transparent, rgba(28, 24, 30, .55) 20%, rgba(28, 24, 30, .55) 80%, transparent); }
.ofertas__lista { display: grid; gap: 18px; }
.oferta {
  display: flex; flex-direction: column; overflow: hidden;
  background: var(--grafite); border: 1px solid rgba(212, 30, 249, .4); border-radius: var(--raio);
  transition: transform .25s ease, box-shadow .25s ease, border-color .2s ease;
}
.oferta:hover { border-color: var(--roxo); box-shadow: var(--sombra-roxa); }
.oferta__midia { position: relative; aspect-ratio: 4 / 3; background: var(--grafite-2); }
.oferta__midia img { width: 100%; height: 100%; object-fit: cover; }
.oferta__midia::after { content: ""; position: absolute; inset: auto 0 0; height: 40%; background: linear-gradient(transparent, rgba(8, 6, 8, .55)); pointer-events: none; }
.oferta__categoria {
  position: absolute; left: 12px; top: 12px; z-index: 1;
  background: var(--amarelo); color: #0a070a; font-size: 11px; font-weight: 900; font-style: italic;
  text-transform: uppercase; letter-spacing: .04em; padding: 5px 10px; border-radius: 8px; transform: rotate(-2deg);
}
.oferta__midia .oferta__selo {
  position: absolute; right: 10px; top: 10px; z-index: 1; width: 40px; height: 40px; border-radius: 10px;
  height: 40px; object-fit: cover; box-shadow: 0 4px 14px rgba(0,0,0,.5);
}
.oferta__credito { position: absolute; right: 10px; bottom: 6px; z-index: 1; font-size: 10px; color: rgba(255,255,255,.75); }
.oferta__corpo { display: flex; flex-direction: column; gap: 10px; padding: 18px; flex: 1; }
.oferta__destino { margin: 0; font-size: 22px; font-weight: 900; text-transform: uppercase; line-height: 1.1; }
.oferta__periodo { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 14px; font-weight: 700; color: var(--roxo-suave); }
.oferta__descricao { margin: 0; font-size: 14px; color: var(--texto-2); }
.oferta__inclusos { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.oferta__inclusos li { display: flex; gap: 8px; align-items: flex-start; font-size: 14px; font-weight: 600; }
.oferta__inclusos .ic { color: var(--lima); width: 18px; height: 18px; margin-top: 2px; stroke-width: 2.4; }
.oferta__preco { margin-top: auto; padding-top: 12px; border-top: 1px dashed var(--linha); }
.oferta__valor { margin: 0; font-size: 28px; font-weight: 900; line-height: 1.1; color: var(--branco); }
.oferta__valor-detalhe { margin: 2px 0 0; font-size: 12px; color: var(--texto-3); font-weight: 600; }
.oferta__parcelamento { margin: 6px 0 0; font-size: 14px; font-weight: 800; color: var(--amarelo); }
.oferta__selos { display: flex; flex-wrap: wrap; gap: 6px; }
.selinho { font-size: 11px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; padding: 5px 9px; border-radius: 999px; border: 1px solid; }
.selinho--lima { color: var(--lima); border-color: rgba(152, 248, 0, .45); background: rgba(152, 248, 0, .08); }
.selinho--roxo { color: var(--roxo-suave); border-color: rgba(212, 30, 249, .5); background: rgba(212, 30, 249, .1); }
.oferta .btn { width: 100%; margin-top: 6px; }

.vazio {
  position: relative; text-align: center; padding: 30px 20px 26px;
  border: 1.5px dashed rgba(212, 30, 249, .55); border-radius: var(--raio);
  background: radial-gradient(80% 60% at 50% 0%, rgba(212, 30, 249, .14), transparent 70%), var(--grafite);
}

/* ==========================================================================
   4. CONDIÇÕES
   ========================================================================== */
.condicoes__destaque {
  position: relative; overflow: hidden; text-align: center;
  padding: 28px 20px 22px; border-radius: 22px;
  border: 3px solid var(--magenta); background: var(--preto);
  box-shadow: 0 0 0 1px rgba(248,3,248,.4), 0 0 40px -8px rgba(248, 3, 248, .55), inset 0 0 40px -18px rgba(248,3,248,.6);
}
.condicoes__icone { width: 36px; height: 36px; color: var(--amarelo); margin: 0 auto 6px; display: block; }
.condicoes__numero { margin: 0; font-weight: 900; font-style: italic; text-transform: uppercase; line-height: 1; font-size: clamp(54px, 17vw, 96px); color: var(--branco); }
.condicoes__ate { font-size: .36em; vertical-align: .9em; color: var(--texto-2); margin-right: 2px; }
.condicoes__sj { display: block; font-size: .4em; color: var(--roxo); margin-top: 4px; }
.condicoes__meio {
  display: inline-block; margin: 14px 0 0; background: var(--amarelo); color: #0a070a; padding: 6px 14px; border-radius: 10px;
  font-size: 18px; font-weight: 900; font-style: italic; text-transform: uppercase; transform: rotate(-2deg);
}
.condicoes__aviso {
  display: flex; align-items: flex-start; justify-content: center; gap: 8px; text-align: left;
  margin: 20px auto 0; max-width: 34ch; font-size: 14px; font-weight: 700; color: var(--texto);
}
.condicoes__aviso .ic { color: var(--amarelo); margin-top: 1px; }
.condicoes__elegiveis {
  margin: 14px auto 0; padding-top: 12px; max-width: 38ch; border-top: 1px dashed rgba(248, 3, 248, .4);
  font-size: 12.5px; line-height: 1.5; color: var(--texto-2);
}
.condicoes__elegiveis strong { color: var(--lima); font-weight: 800; }

.condicoes__extras { margin-top: 22px; display: grid; gap: 14px; color: var(--texto-2); font-size: 15px; }
.condicoes__extras p { margin: 0; }
.condicoes__extras strong { color: var(--texto); }

/* ==========================================================================
   5. BORALÂNDIA — ingresso
   ========================================================================== */
.boralandia { padding-top: 28px; }

/* furos do ingresso {
  content: ""; position: absolute; top: -17px; width: 32px; height: 32px; border-radius: 50%;
  background: var(--preto); border: 2px solid var(--magenta);
}

.ingresso__nitorrinco { width: min(220px, 60%); }

/* ==========================================================================
   6. DEPOIMENTOS
   ========================================================================== */
.depoimentos__lista {
  display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 14px;
  overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; margin: 0 calc(var(--gutter) * -1); padding-inline: var(--gutter);
  scrollbar-width: thin;
}
.depoimento {
  scroll-snap-align: start; margin: 0; padding: 22px; border-radius: var(--raio);
  background: var(--grafite); border: 1px solid var(--linha); display: flex; flex-direction: column; gap: 16px;
}
.depoimento blockquote { margin: 0; font-size: 16px; font-weight: 500; line-height: 1.55; }
.depoimento blockquote::before { content: "“"; display: block; font-size: 52px; line-height: .6; color: var(--roxo); font-weight: 900; margin-bottom: 4px; }
.depoimento figcaption { display: flex; align-items: center; gap: 12px; margin-top: auto; }
.depoimento img { width: 48px; height: 48px; border-radius: 50%; object-fit: cover; border: 2px solid var(--roxo); }
.depoimento__nome { font-weight: 800; display: block; }
.depoimento__viagem { font-size: 13px; color: var(--texto-3); }
.depoimento__video { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--amarelo); text-decoration: none; }

/* ==========================================================================
   7. DIFERENCIAIS
   ========================================================================== */
.diferenciais { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.diferencial {
  display: flex; flex-direction: column; gap: 6px; padding: 16px 14px;
  background: var(--grafite); border: 1px solid var(--linha); border-radius: 16px;
}
.diferencial .ic { width: 26px; height: 26px; color: var(--roxo-suave); margin-bottom: 4px; }
.diferencial:nth-child(3n+1) .ic { color: var(--amarelo); }
.diferencial strong { font-size: 14px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.diferencial span { font-size: 13px; color: var(--texto-2); line-height: 1.4; }
.porque__acao { margin-top: 24px; }
.porque__acao .btn { width: 100%; }

/* ==========================================================================
   8. FINAL
   ========================================================================== */
.final { padding: 52px 0 56px; overflow: hidden; text-align: center;
  background: radial-gradient(80% 45% at 50% 72%, rgba(212, 30, 249, .2), transparent 70%);
}
.final__interno { display: flex; flex-direction: column; align-items: center; }

.final__chamada { margin: 0 0 12px; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--lima); }
.final .secao__sub { max-width: 40ch; }
.final .acoes { width: 100%; max-width: 440px; margin-top: 26px; }

/* ==========================================================================
   AVALIAÇÕES DO GOOGLE
   ========================================================================== */
.titulo__estrela { width: .8em; height: .8em; color: var(--amarelo); fill: var(--amarelo); vertical-align: -.05em; }
.avaliacoes { padding-top: 36px; }
.avaliacoes__demo {
  margin: 0 0 16px; padding: 8px 12px; border: 1.5px dashed var(--fogo); border-radius: 10px;
  background: #1a0d06; color: #ffd8c4; font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; text-align: center;
}
.avaliacoes__topo { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: -4px 0 16px; }
.avaliacoes__resumo { display: flex; align-items: center; gap: 12px; min-width: 0; }
.avaliacoes__nota { font-size: 44px; font-weight: 900; font-style: italic; line-height: 1; color: var(--branco); letter-spacing: -.02em; }
.avaliacoes__resumo-txt { display: grid; gap: 4px; }
.avaliacoes__total { font-size: 13px; font-weight: 600; color: var(--texto-2); }
.avaliacoes__total strong { color: var(--branco); font-weight: 800; }
.estrelas { display: inline-flex; gap: 2px; color: #4a4250; }
.estrelas .ic { width: 16px; height: 16px; stroke-width: 1.6; fill: currentColor; }
.estrelas .cheia { color: var(--amarelo); }
.avaliacoes__nav { display: none; gap: 8px; }
.avaliacoes__seta {
  width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; cursor: pointer;
  background: transparent; color: var(--branco); border: 1px solid rgba(212, 30, 249, .6);
  transition: background-color .2s ease, opacity .2s ease;
}
.avaliacoes__seta[data-dir="-1"] .ic { transform: scaleX(-1); }
.avaliacoes__seta:hover:not(:disabled) { background: rgba(212, 30, 249, .2); }
.avaliacoes__seta:disabled { opacity: .3; cursor: default; }
.avaliacoes__lista {
  display: grid; grid-auto-flow: column; grid-auto-columns: 86%; gap: 12px;
  overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scroll-behavior: smooth;
  margin: 0 calc(var(--gutter) * -1); padding: 2px var(--gutter) 10px; scroll-padding-inline: var(--gutter);
  scrollbar-width: none;
}
.avaliacoes__lista::-webkit-scrollbar { display: none; }
.avaliacao {
  scroll-snap-align: start; margin: 0; padding: 18px 18px 14px; display: flex; flex-direction: column; gap: 12px; min-width: 0;
  background: #191919; border: 1px solid rgba(212, 30, 249, .35); border-radius: 16px;
}
.avaliacao__topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.avaliacao__autor { font-weight: 800; font-size: 14px; color: var(--branco); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.avaliacao blockquote {
  margin: 0; font-size: 14.5px; line-height: 1.55; color: #d9d3dc;
  display: -webkit-box; -webkit-line-clamp: 6; -webkit-box-orient: vertical; overflow: hidden;
}
.avaliacao figcaption { margin-top: auto; padding-top: 10px; border-top: 1px solid #2a2a2a; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 12px; }
.avaliacao__data { color: var(--texto-3); }
.avaliacao__link { color: var(--amarelo); font-weight: 700; text-decoration: none; }
.avaliacao__google { color: var(--texto-3); font-weight: 700; }
.avaliacoes__fonte { margin: 8px 0 0; font-size: 11.5px; color: var(--texto-3); }
/* Widget externo: só reserva altura enquanto carrega; depois a altura é a do próprio widget */
.avaliacoes__widget { position: relative; min-height: 220px; }
.avaliacoes__widget.is-carregado { min-height: 0; }
.avaliacoes__widget.is-falha { min-height: 0; }
/* Carregamento lento (após 15 s visível): reserva menor, sem área vazia grande */
.avaliacoes__widget.is-lento { min-height: 72px; }
/* Caixa de diagnóstico — existe só no pacote de teste, com ?diagnostico=avaliacoes */
.diagnostico {
  position: fixed; top: calc(8px + env(safe-area-inset-top, 0px)); left: 8px; right: 8px; z-index: 90;
  max-height: 40vh; overflow: auto; padding: 10px 12px; border-radius: 10px;
  background: rgba(0, 0, 0, .88); border: 1px solid var(--lima); color: #e8ffe0;
  font: 600 11.5px/1.45 ui-monospace, Menlo, Consolas, monospace;
}
.diagnostico p { margin: 2px 0 0; }
.avaliacoes__widget.is-falha .avaliacoes__carregando { position: static; padding: 14px 16px; border: 1px dashed var(--linha); border-radius: 12px; }
.avaliacoes__widget iframe { max-width: 100%; border: 0; }
#avaliacoes-widget-conteudo { min-width: 0; max-width: 100%; }
.avaliacoes__carregando {
  position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 0 16px; text-align: center;
  font-size: 13px; font-weight: 700; color: var(--texto-3); pointer-events: none;
}
.avaliacoes__acao { margin-top: 18px; }
.avaliacoes__acao .btn { width: 100%; }
.is-demo .avaliacoes__acao .btn { pointer-events: none; }
.avaliacoes__reservado {
  padding: 20px; border: 1.5px dashed var(--fogo); border-radius: var(--raio); background: #1a0d06; color: #ffe6d9; font-size: 14px;
}
.avaliacoes__reservado p { margin: 0 0 6px; }
.avaliacoes__reservado code { color: #ffb48f; font-size: 12px; }

/* ==========================================================================
   A BORA EM NÚMEROS
   ========================================================================== */
.numeros__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.numero {
  display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 4px 16px;
  padding: 16px 18px; background: var(--grafite); border: 1px solid var(--linha); border-left: 3px solid var(--amarelo); border-radius: 14px;
}
.numero__valor {
  font-weight: 900; font-style: italic; text-transform: uppercase; color: var(--roxo);
  font-size: clamp(30px, 9vw, 52px); line-height: 1; letter-spacing: -.01em; white-space: nowrap;
}
.numero__rotulo { font-size: 14px; font-weight: 600; color: var(--branco); line-height: 1.4; }
.numero:last-child { grid-template-columns: 1fr; }

/* ==========================================================================
   CADASTUR
   ========================================================================== */
.cadastur { padding-top: 12px; }
.cadastur__bloco {
  display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start;
  padding: 20px; border-radius: var(--raio); background: var(--grafite); border: 1px solid rgba(212, 30, 249, .45);
}
.cadastur__icone { width: 40px; height: 40px; color: var(--lima); }
.cadastur__titulo { margin: 0 0 6px; font-size: 18px; font-weight: 900; text-transform: uppercase; line-height: 1.2; }
.cadastur__texto p { margin: 0 0 14px; font-size: 14px; color: var(--texto-2); }
.cadastur__texto .btn { min-height: 46px; padding: 10px 16px; font-size: 13px; }
.planejar { margin-top: 18px; display: grid; gap: 12px; justify-items: center; text-align: center; padding: 22px 16px; border-radius: var(--raio);
  background: radial-gradient(80% 90% at 50% 100%, rgba(212, 30, 249, .2), transparent 70%); }
.planejar__titulo { margin: 0; font-size: clamp(20px, 5.6vw, 28px); font-weight: 900; text-transform: uppercase; line-height: 1.15; text-wrap: balance; }
.planejar .btn { width: 100%; max-width: 420px; }

/* Abertura: duas ações com nota */
.acoes--hero .acao-principal + .acao-principal { margin-top: 2px; }

@media (min-width: 640px) {
  .avaliacoes__lista { grid-auto-columns: calc(50% - 7px); gap: 14px; }
  .avaliacoes__nav { display: flex; }
  .avaliacoes__acao .btn { width: auto; }
  .numeros__lista { grid-template-columns: repeat(3, 1fr); gap: 14px; }
  .numero, .numero:last-child { grid-template-columns: 1fr; align-content: start; padding: 22px; border-left-width: 1px; border-top: 3px solid var(--amarelo); min-width: 0; }
  .numero__valor { white-space: normal; font-size: clamp(24px, 3.1vw, 40px); }
  .cadastur__bloco { padding: 26px 28px; }
}
@media (min-width: 900px) {
  .avaliacoes__lista { grid-auto-columns: calc(33.333% - 10px); margin: 0; padding-inline: 0; scroll-padding-inline: 0; }
  .cadastur .container { display: grid; grid-template-columns: 1.4fr 1fr; gap: 20px; align-items: stretch; }
  .planejar { margin-top: 0; align-content: center; border: 1px solid var(--linha); }
}

/* ==========================================================================
   RODAPÉ
   ========================================================================== */
.rodape { border-top: 1px solid var(--linha); background: #050405; padding: 40px 0 28px; font-size: 14px; color: var(--texto-2); }
.rodape__interno { display: grid; gap: 16px; }
.rodape__marcas { display: flex; align-items: center; gap: 14px; }
.rodape__logo img { height: 72px; width: auto; }

.rodape__sobre { margin: -8px 0 0; font-size: 13px; max-width: 60ch; }

.rodape__links { list-style: none; padding: 0; margin: 4px 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }
.rodape__links a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-weight: 700; color: var(--texto); text-decoration: none; cursor: pointer; }
.rodape__links a:hover { color: var(--amarelo); }
.rodape__links a.is-pendente .pendente-rotulo { display: inline; margin: 0 0 0 4px; }
.rodape__links .link-botao { min-height: 44px; }

.rodape__direitos {
  margin: 6px 0 0; padding-top: 14px; border-top: 1px solid #1f1a22; text-align: center;
  font-family: var(--fonte); font-style: italic; font-weight: 500; font-size: 11.5px; line-height: 1.6;
  letter-spacing: .01em; color: #b9b0bd; text-wrap: balance;
}
.rodape__sep { display: none; }
.rodape__cnpj { display: block; }
@media (min-width: 640px) {
  .rodape__direitos { font-size: 12px; }
  .rodape__sep { display: inline; white-space: pre; }
  .rodape__cnpj { display: inline; }
}

/* ==========================================================================
   BARRA FIXA (celular)
   ========================================================================== */
.barra {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
  display: grid; grid-template-columns: 1.15fr 1fr; gap: 8px;
  padding: 8px 12px calc(8px + var(--seguro-baixo));
  background: rgba(10, 8, 11, .94);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border-top: 1px solid rgba(248, 3, 248, .45);
  box-shadow: 0 -10px 30px -10px rgba(0,0,0,.8), 0 -1px 18px -6px rgba(248, 3, 248, .35);
  transform: translateY(110%); transition: transform .3s ease;
}
.barra.is-visivel { transform: translateY(0); }
.barra__btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  height: 48px; border-radius: 12px; text-decoration: none; cursor: pointer;
  font: 900 14px var(--fonte); letter-spacing: .05em; text-transform: uppercase;
  -webkit-tap-highlight-color: transparent; transition: transform .15s ease;
}
.barra__btn:active { transform: scale(.96); }
.barra__btn .ic { width: 20px; height: 20px; stroke-width: 2.1; }
.barra__btn--principal { background: var(--amarelo); color: #0a070a; }
.barra__btn--secundario { background: rgba(212, 30, 249, .26); color: var(--branco); border: 2px solid var(--roxo); }
.barra__btn.is-pendente .pendente-rotulo { display: none; }

/* ==========================================================================
   CONSENTIMENTO
   ========================================================================== */
.consentimento {
  position: fixed; left: 10px; right: 10px; bottom: calc(10px + var(--seguro-baixo)); z-index: 60;
  max-width: 520px; margin: 0 auto; padding: 18px 18px 14px;
  background: var(--grafite-2); border: 1px solid var(--roxo); border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.7);
}
.consentimento__titulo { margin: 0 0 6px; font-weight: 900; text-transform: uppercase; font-size: 14px; letter-spacing: .06em; color: var(--amarelo); }
.consentimento__texto { margin: 0 0 12px; font-size: 13px; color: var(--texto-2); line-height: 1.5; }
.consentimento__texto a { color: var(--texto); font-weight: 700; cursor: pointer; }
.consentimento__opcoes { display: grid; gap: 8px; margin-bottom: 12px; }
.opcao { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--texto-2); min-height: 32px; }
.opcao input { width: 20px; height: 20px; accent-color: var(--amarelo); margin: 1px 0 0; flex: none; }
.opcao strong { color: var(--texto); }
.consentimento__acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.consentimento__acoes .btn { flex: 1 1 110px; }

/* ==========================================================================
   PAINEL DE REVISÃO (somente modo "revisao")
   ========================================================================== */
.revisao { position: fixed; bottom: calc(var(--barra-h) + var(--seguro-baixo) + 16px); left: 10px; z-index: 70; max-width: min(360px, calc(100vw - 20px)); font-size: 13px; }
.revisao__botao {
  display: block; background: #2a0f00; color: #ffd8c4; border: 1px solid var(--fogo);
  border-radius: 999px; padding: 8px 14px; font: 800 12px var(--fonte); cursor: pointer;
}
.revisao__lista { margin: 0 0 8px; padding: 14px 16px 14px 30px; background: #1a0d06; border: 1px solid var(--fogo); border-radius: 14px; color: #ffe6d9; max-height: 60vh; overflow: auto; }
.revisao__lista li { margin: 0 0 6px; }
.com-consentimento .revisao { display: none; }
.revisao__lista code { font-size: 12px; color: #ffb48f; }

/* ==========================================================================
   MICROINTERAÇÕES
   ========================================================================== */
/* Entrada suave das seções e cards.
   Só é ativada quando o app.js liga a classe .anima no <html>: se o JavaScript
   falhar, todo o conteúdo continua visível. Usa apenas opacity e transform.
   O atraso sequencial (--atraso) é definido pelo app.js, por lote de entrada. */
.anima .revelar {
  opacity: 0; transform: translate3d(0, 16px, 0);
  transition: opacity .5s ease-out, transform .5s cubic-bezier(.22, .61, .36, 1);
  transition-delay: var(--atraso, 0ms);
}
.anima .revelar.is-visivel { opacity: 1; transform: none; }
/* Depois de entrar, o elemento volta às próprias transições (hover dos cards) */
.anima .revelar.is-concluido { transition: none; transition-delay: 0ms; }
.anima .oferta.revelar.is-concluido { transition: border-color .2s ease, box-shadow .25s ease; }
.btn--primario.btn--grande { animation: brilho 3.6s ease-in-out infinite; }
@keyframes brilho {
  0%, 100% { box-shadow: 0 8px 28px -8px rgba(226, 246, 0, .45); }
  50% { box-shadow: 0 8px 34px -4px rgba(226, 246, 0, .75); }
}
.ponto { animation: pulso 2.8s ease-in-out infinite; }
@keyframes pulso { 50% { box-shadow: 0 0 2px var(--magenta); } }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .anima .revelar { opacity: 1; transform: none; }
}

/* ==========================================================================
   TELAS MAIORES
   ========================================================================== */
@media (max-width: 359px) {
  :root { --gutter: 16px; }
  .btn--grande { font-size: 14px; padding-inline: 14px; }
  .diferenciais { grid-template-columns: 1fr; }
}

@media (min-width: 640px) {
  .ofertas__lista { grid-template-columns: repeat(2, 1fr); }
  .depoimentos__lista { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, 1fr); overflow: visible; margin: 0; padding-inline: 0; }
  .diferenciais { grid-template-columns: repeat(3, 1fr); }
  .acoes:not(.acoes--linha) { grid-template-columns: 1fr 1fr; }
  .final .acoes { max-width: 760px; }
  
  
  
  
  
  .porque__acao .btn { width: auto; min-width: 320px; }
  .porque__acao { text-align: center; }
}

@media (min-width: 900px) {
  .barra { display: none !important; }
  body.tem-barra { padding-bottom: 0; }
  .secao { padding: 64px 0; }
  .hero { padding: 28px 0 40px; }
  .hero__texto { margin-top: 0; }
  .hero__titulo { font-size: clamp(32px, 3.2vw, 44px); }
  .hero__titulo + .hero__sub { margin: 14px 0 22px; }
  
  
  .hero .btn--grande, .hero .btn--secundario.btn--grande { min-height: 58px; }
  .operacao__interno { padding-block: 12px; }
  .operacao__selo { font-size: 13px; }
  .final { padding: 64px 0 72px; }
  .boralandia { padding-top: 32px; }
  .hero__interno { display: grid; grid-template-columns: .95fr 1.25fr; align-items: center; gap: 24px 40px; grid-template-areas: "ass ass" "txt mar"; }
  .hero__assinatura { grid-area: ass; }
  .hero__texto { grid-area: txt; }
  .hero__marcas { grid-area: mar; margin: 0; grid-template-columns: minmax(0, 1fr); }
  .hero__sub { font-size: 18px; }
  .hero .acoes { grid-template-columns: 1fr; max-width: 420px; }
  
  
  
  .ofertas__lista { grid-template-columns: repeat(3, 1fr); }
  
  
  .condicoes .container { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; align-items: center; }
  .condicoes .secao__cabecalho { grid-column: 1; }
  .condicoes__destaque { grid-column: 2; grid-row: 1 / span 2; }
  .condicoes__extras { grid-column: 1; margin-top: 0; }
  .condicoes__extras .btn { justify-self: start; }
  .depoimentos__lista { grid-template-columns: repeat(3, 1fr); }
  .diferencial { padding: 22px; }
  .secao__cabecalho { max-width: 760px; }
}

/* Continuidade: Por que viajar → Avaliações → Números como uma composição */
.porque { padding-bottom: 28px; }
.avaliacoes { padding-block: 28px 24px; }
.numeros { padding-top: 28px; }
@media (min-width: 900px) {
  .porque { padding-bottom: 36px; }
  .avaliacoes { padding-block: 36px 28px; }
  .numeros { padding-top: 36px; }
  .numero, .numero:last-child { padding-block: 20px; }
}

/* BLACK BORA — cards das condições de pagamento */
.condicoes__icone--boleto { width: 42px; height: 42px; }
.condicoes__introducao { font-size: 16px; line-height: 1.5; color: var(--texto); }
.condicoes__formas { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.condicoes__forma {
  min-width: 0; display: flex; align-items: center; justify-content: center; gap: 11px;
  padding: 13px 12px; border-radius: 16px; border: 2px solid var(--magenta);
  background: var(--preto); box-shadow: 0 0 20px -8px rgba(248,3,248,.7);
}
.condicoes__forma-icone { flex: 0 0 32px; width: 32px; height: 32px; color: var(--roxo); }
.condicoes__forma > div { min-width: 0; display: flex; flex-direction: column; line-height: 1.2; gap: 4px; }
.condicoes__forma-nome { font-size: 17px; font-weight: 900; text-transform: uppercase; font-style: italic; color: var(--branco); }
.condicoes__forma-beneficio { font-size: 11px; text-transform: uppercase; font-weight: 800; white-space: nowrap; color: var(--branco); }
.condicoes__forma-beneficio strong { font-size: 19px; color: var(--lima); font-style: italic; }
.condicoes__nota { font-size: 13px; line-height: 1.5; color: var(--texto-2); }
@media (max-width: 430px) {
  .condicoes__formas { gap: 8px; }
  .condicoes__forma { padding: 10px 7px; gap: 6px; }
  .condicoes__forma-icone { flex-basis: 25px; width: 25px; height: 25px; }
  .condicoes__forma-nome { font-size: 14px; }
  .condicoes__forma-beneficio { font-size: 9px; }
  .condicoes__forma-beneficio strong { font-size: 16px; }
}
@media (min-width: 900px) and (max-width: 1100px) {
  .condicoes__forma { gap: 6px; padding-inline: 7px; }
  .condicoes__forma-icone { flex-basis: 24px; width: 24px; height: 24px; }
  .condicoes__forma-nome { font-size: 14px; }
  .condicoes__forma-beneficio { font-size: 9px; }
}

/* CTA WhatsApp — somente seção de condições especiais */
.condicoes__extras .btn--whatsapp {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  justify-self: start; max-width: 100%; min-height: 54px;
  padding: 15px 22px; border: 0; border-radius: 16px;
  background: #20f018; color: #071107; font-size: 15px; font-weight: 900;
  text-transform: uppercase; text-decoration: none; text-align: center;
  box-shadow: 0 0 26px rgba(32,240,24,.34), 0 9px 28px rgba(32,240,24,.16);
  transition: box-shadow .2s ease, transform .2s ease, background-color .2s ease;
}
.condicoes__extras .btn--whatsapp:hover { background: #32ff2d; box-shadow: 0 0 32px rgba(32,240,24,.52); transform: translateY(-2px); }
.condicoes__extras .btn--whatsapp:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.condicoes__extras .btn--whatsapp .ic { width: 24px; height: 24px; flex-shrink: 0; }
@media (max-width: 430px) { .condicoes__extras .btn--whatsapp { width: 100%; padding: 14px 10px; font-size: 12px; gap: 7px; } }
@media (prefers-reduced-motion: reduce) { .condicoes__extras .btn--whatsapp { transition: none; } .condicoes__extras .btn--whatsapp:hover { transform: none; } }

/* Vitrine BLACK BORA: três destinos, internacional sempre ao centro. */
.ofertas .secao__cabecalho { margin-bottom: 22px; }
.ofertas__vitrine { border: 1.5px dashed var(--magenta); background: linear-gradient(150deg, rgba(70,21,77,.27),rgba(9,7,11,.96)); padding: 24px; border-radius: 28px; }

.ofertas__vitrine-grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.vitrine-card { overflow:hidden; border:2px solid var(--magenta); border-radius:20px; min-width:0; background:#0c090e; box-shadow: 0 0 22px rgba(248,3,248,.21); display:flex; flex-direction:column; }

.vitrine-card__selo { z-index:1; background:var(--amarelo); color:#080808; border-radius:8px; padding:6px 9px; font-size:10px; font-weight:900; white-space:nowrap; }

.vitrine-card h3 { margin:0; font-size:clamp(17px,2vw,25px); line-height:1.1; text-transform:uppercase; font-weight:900; }

.ofertas__observacao { text-align:center; margin:16px auto 20px; color:var(--texto-2); font-size:12px; line-height:1.5; max-width:95ch; }
.ofertas__cta-whatsapp { margin:0 auto; display:flex; justify-content:center; align-items:center; gap:12px; width:fit-content; max-width:100%; padding:16px 24px; border-radius:18px; text-transform:uppercase; font-weight:900; font-size:clamp(12px,1.5vw,17px); text-align:center; background:#20f018; color:#061106; box-shadow:0 0 26px rgba(32,240,24,.4); text-decoration:none; }
.ofertas__cta-whatsapp .ic { width:24px; height:24px; flex-shrink:0; }
.ofertas__cta-whatsapp:hover { background:#35ff2e; box-shadow:0 0 36px rgba(32,240,24,.6); }
@media(max-width:850px) { .ofertas__vitrine-grade { grid-template-columns:1fr; } .ofertas__vitrine { padding:14px; }  .ofertas__cta-whatsapp { width:100%; padding:14px 10px; } .ofertas__cta-seta { display:none; } }
@media(prefers-reduced-motion:reduce){ .ofertas__cta-whatsapp { transition:none; } }

/* Correção fiel ao conceito aprovado: fotos ocupam os cards e o conteúdo fica sobreposto. */
.ofertas__vitrine { background:linear-gradient(160deg,rgba(44,11,51,.47),rgba(8,5,11,.98)); }
.ofertas__vitrine-grade { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }

.vitrine-card__foto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; }

.vitrine-card__selo { display:flex; align-items:center; gap:5px; }
.vitrine-card__selo .ic { width:13px; height:13px; }

.vitrine-card__parcelamento { position:absolute; right:0; bottom:0; width:108px; min-height:108px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:1px; border-radius:16px; background:rgba(4,3,6,.93); border:2px solid var(--lima); color:white; font-weight:800; }
.vitrine-card__parcelamento small { font-size:12px; font-weight:500; }
.vitrine-card__parcelamento strong { font-size:47px; font-style:italic; line-height:1; color:var(--lima); }
.vitrine-card__parcelamento span { font-size:12px; }

@media (max-width:850px){ .ofertas__vitrine-grade { grid-template-columns:1fr; }   }
@media (min-width:851px) and (max-width:1050px){ .vitrine-card__parcelamento { width:90px; min-height:90px; } .vitrine-card__parcelamento strong { font-size:39px; }  }

/* Teste visual — layout horizontal fiel à referência aprovada; internacional central */
.ofertas__vitrine { padding:22px 24px 24px; }

.ofertas__vitrine-grade { gap:17px; }

.vitrine-card__dados { min-width:0; }

.vitrine-card__dados p { display:flex; gap:7px; align-items:center; margin:5px 0 0; color:white; font-size:clamp(10px,.95vw,14px); line-height:1.2; font-weight:600; }
.vitrine-card__dados p .ic { flex:0 0 17px; width:17px; height:17px; color:var(--lima); }
.vitrine-card__dados p span { min-width:0; }
.vitrine-card__parcelamento { position:static; width:106px; min-height:128px; padding:8px 4px; border-color:var(--amarelo); background:rgba(3,2,6,.95); gap:0; }
.vitrine-card__parcelamento strong { font-size:43px; color:var(--amarelo); }
.vitrine-card__parcelamento span { border-bottom:1px solid var(--amarelo); padding-bottom:4px; width:90%; text-align:center; font-size:11px; }
.vitrine-card__parcelamento b { font-size:clamp(12px,1.08vw,16px); margin-top:4px; white-space:nowrap; }
.vitrine-card__parcelamento small { font-size:11px; }

.ofertas__cta-whatsapp { margin:24px auto 0; }
.ofertas__observacao { font-size:11px; margin:16px auto 0; }
@media(max-width:850px) {   .vitrine-card__parcelamento { width:112px; } .vitrine-card__dados p { font-size:13px; } }
@media(min-width:851px) and (max-width:1250px) {  .vitrine-card__parcelamento { width:92px; } .vitrine-card__parcelamento strong { font-size:38px; } .vitrine-card__dados p { font-size:10px; } .vitrine-card__dados p .ic { flex-basis:14px; width:14px; height:14px; } }

/* CTA de ofertas: verde-limão neon da referência aprovada e ícone WhatsApp. */
.ofertas__cta-whatsapp { background:#8ef000; color:#071008; box-shadow:0 0 28px rgba(142,240,0,.42),0 8px 22px rgba(142,240,0,.18); }
.ofertas__cta-whatsapp:hover { background:#a0fc08; box-shadow:0 0 36px rgba(142,240,0,.58); }

/* Rodapé com uma única marca oficial branca. */
.rodape__marcas { display:block; }
.rodape__logo img { display:block; width:min(100%,220px); height:auto; object-fit:contain; margin-bottom:6px; }
@media (min-width:900px){ .rodape__logo img { width:240px; } }

/* Diferenciais: os seis ícones têm o mesmo degradê verde-limão → roxo da arte aprovada. */
.porque .diferencial .ic, .porque .diferencial:nth-child(3n+1) .ic { color:#b7f91c; stroke:url(#bora-grad-diferenciais); }

/* Rodapé: logo oficial menor e proporção original; retirar texto duplicado abaixo. */
.rodape__logo img { width:min(100%,165px); height:auto; margin-bottom:0; }
@media (min-width:900px) { .rodape__logo img { width:175px; } }
.rodape__sobre { margin-top:0; }

/* Ícone WhatsApp: mais legível e centralizado, preservando links e CTAs. */
.condicoes__extras .btn--whatsapp .ic, .ofertas__cta-whatsapp > .ic:first-child { width:30px; height:30px; flex:0 0 30px; display:block; }
.rodape__links a[data-acao="whatsapp"] .ic { width:23px; height:23px; flex:0 0 23px; }
@media(max-width:430px) { .condicoes__extras .btn--whatsapp .ic, .ofertas__cta-whatsapp > .ic:first-child { width:27px; height:27px; flex-basis:27px; } }

/* ===== Vitrine de 3 destinos — reprodução do layout aprovado (02/11/2026) =====
   Medidas proporcionais à largura do card (cqw), para manter a mesma composição
   no desktop, tablet e celular. Os títulos começam sempre na mesma altura. */
.ofertas__vitrine { container-type:inline-size; border:2.5px dashed var(--magenta); padding:clamp(14px,2.3cqw,26px); border-radius:16px; }
.ofertas__vitrine .ofertas__vitrine-grade { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(12px,1.7cqw,22px); }
.ofertas__vitrine .vitrine-card { container-type:inline-size; position:relative; display:block; aspect-ratio:580/427; overflow:hidden; isolation:isolate;
  border:3px solid var(--magenta); border-radius:22px; border-radius:4.2cqw; background:#070508;
  box-shadow:0 0 6px rgba(248,3,248,.9),0 0 22px rgba(248,3,248,.55),inset 0 0 10px rgba(248,3,248,.35); }
.ofertas__vitrine .vitrine-card__foto { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; z-index:-2; }
.ofertas__vitrine .vitrine-card:after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 38%,rgba(5,3,7,.62) 52%,rgba(5,3,7,.9) 64%,#060408 78%); }
.ofertas__vitrine .vitrine-card__selo { position:absolute; top:3.4cqw; display:flex; align-items:center; gap:1.2cqw; height:8.1cqw; padding:0 2.6cqw;
  border-radius:3.4cqw; font-size:3.6cqw; font-weight:900; letter-spacing:.01em; line-height:1; white-space:nowrap; z-index:1; }
.ofertas__vitrine .vitrine-card__selo { left:2.9cqw; background:var(--amarelo); color:#0a0a0a; box-shadow:0 0 12px rgba(226,246,0,.45); }
.ofertas__vitrine .vitrine-card__selo .ic { width:4.2cqw; height:4.2cqw; stroke-width:2.2; }

.ofertas__vitrine .vitrine-card__dados { position:absolute; left:4.8cqw; top:37cqw; width:62cqw; color:#fff; }
.ofertas__vitrine .vitrine-card__dados h3 { margin:0 0 2.4cqw; font-size:4.75cqw; font-weight:900; line-height:1.05; letter-spacing:-.025em; text-transform:uppercase; white-space:nowrap; text-shadow:0 1px 6px rgba(0,0,0,.6); }
.ofertas__vitrine .vitrine-card__dados ul { list-style:none; margin:0; padding:0; display:grid; row-gap:2cqw; }
.ofertas__vitrine .vitrine-card__dados li { display:flex; align-items:center; gap:2.8cqw; font-size:3.65cqw; font-weight:500; line-height:1.15; white-space:nowrap; }
.ofertas__vitrine .vitrine-card__dados li .ic--cheio { fill:currentColor; stroke-width:.6; }
.ofertas__vitrine .vitrine-card__dados li .ic { width:4.6cqw; height:4.6cqw; flex:0 0 4.6cqw; color:var(--amarelo); stroke-width:1.8; }
.ofertas__vitrine .vitrine-card__parcelamento { position:absolute; right:2.3cqw; top:34.8cqw; width:28.8cqw; height:33.4cqw; min-height:0; padding:0; gap:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; background:rgba(4,3,6,.94); color:#fff;
  border:.55cqw solid var(--amarelo); border-radius:3.6cqw; box-shadow:0 0 10px rgba(226,246,0,.35); }
.ofertas__vitrine .vitrine-card__parcelamento small { font-size:3.3cqw; font-weight:500; line-height:1.2; }
.ofertas__vitrine .vitrine-card__parcelamento strong { font-size:10.6cqw; font-weight:900; font-style:normal; line-height:.95; color:var(--amarelo); letter-spacing:-.02em; }
.ofertas__vitrine .vitrine-card__parcelamento span { font-size:3.7cqw; font-weight:900; line-height:1.15; width:82%; text-align:center; padding:0 0 1.3cqw; border-bottom:.3cqw solid var(--amarelo); }
.ofertas__vitrine .vitrine-card__parcelamento b { font-size:4.1cqw; font-weight:900; line-height:1.2; margin-top:1.3cqw; white-space:nowrap; }
.ofertas__vitrine .vitrine-card__parcelamento small:last-child { font-size:2.8cqw; }
/* Botão único abaixo dos cards */
.ofertas__vitrine .ofertas__cta-whatsapp { width:71%; max-width:none; min-height:clamp(52px,5cqw,64px); margin:clamp(20px,2.2cqw,30px) auto 0; padding:0 3cqw; gap:1.6cqw;
  border-radius:999px; font-size:clamp(13px,1.85cqw,22px); font-weight:900; letter-spacing:.01em; background:#8ef000; color:#060a05;
  box-shadow:0 0 10px rgba(142,240,0,.75),0 0 30px rgba(142,240,0,.45); }
.ofertas__vitrine .ofertas__cta-whatsapp > .ic:first-child { width:clamp(26px,3.2cqw,40px); height:clamp(26px,3.2cqw,40px); flex:0 0 auto; }
.ofertas__vitrine .ofertas__cta-whatsapp .ofertas__cta-seta { display:block; width:clamp(20px,2.6cqw,32px); height:clamp(20px,2.6cqw,32px); stroke-width:2.6; flex:0 0 auto; }
.ofertas__vitrine .ofertas__observacao { margin:12px auto 0; font-size:11px; color:var(--texto-3); }
/* Tablet: uma coluna centralizada; celular: largura total */
@media (max-width:900px) {
  .ofertas__vitrine .ofertas__vitrine-grade { grid-template-columns:1fr; max-width:580px; margin:0 auto; }
  .ofertas__vitrine .ofertas__cta-whatsapp { width:100%; max-width:580px; min-height:56px; padding:0 14px; gap:9px; font-size:13px; }
}
@media (max-width:380px) { .ofertas__vitrine .ofertas__cta-whatsapp { font-size:11.5px; } .ofertas__vitrine .ofertas__cta-whatsapp .ofertas__cta-seta { display:none; } }

/* Rodapé enxuto: logo menor e ícones de links com dimensões consistentes. */
.rodape__logo img { width:145px; max-width:100%; height:auto; }
@media (min-width:900px) { .rodape__logo img { width:150px; } }
.rodape__links a { gap:9px; display:inline-flex; align-items:center; min-height:44px; }
.rodape__links a .ic { width:22px; height:22px; flex:0 0 22px; display:block; }
.rodape__links a[data-acao="whatsapp"] .ic { width:22px; height:22px; flex:0 0 22px; }
.rodape__links { column-gap:22px; row-gap:8px; }

/* ===== Chamada final com o Nélio (02/11/2026) ===== */
.final { padding:40px 0 48px; text-align:center;
  background:radial-gradient(60% 70% at 95% 100%,rgba(190,20,240,.55),transparent 70%),radial-gradient(45% 60% at 60% 110%,rgba(130,10,170,.35),transparent 70%),radial-gradient(40% 50% at 90% 0%,rgba(120,10,150,.28),transparent 70%),#0e0310; }
.final .final__interno { display:grid; grid-template-columns:1fr; justify-items:center; gap:10px; }
.final__nelio { width:min(300px,78%); height:auto;
  -webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 95%,transparent); -webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent,#000 7%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 95%,transparent); mask-composite:intersect; }
.final__texto { display:flex; flex-direction:column; align-items:center; text-align:center; max-width:640px; }
.final .final__chamada { margin:0 0 12px; font-size:clamp(12px,1.3vw,17px); font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--lima); }
.final__titulo { margin:0 0 16px; color:#fff; font-weight:900; text-transform:uppercase; line-height:1.04; letter-spacing:-.01em; font-size:clamp(28px,4.4vw,56px); }
.final__sub { margin:0; max-width:38ch; color:#f1eaf3; font-size:clamp(15px,1.55vw,21px); line-height:1.5; }
@media (min-width:860px) {
  .final { padding:56px 0 60px; }
  .final .final__interno { grid-template-columns:minmax(0,38fr) minmax(0,62fr); align-items:center; gap:clamp(16px,3vw,48px); }
  .final__nelio { width:100%; max-width:440px; justify-self:end; }
}
/* Contato WhatsApp acessível de qualquer seção, sem interromper a navegação. */
.whatsapp-flutuante { position:fixed; right:22px; bottom:calc(22px + env(safe-area-inset-bottom,0px)); z-index:55; display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:58px; padding:12px 18px; border-radius:999px; text-decoration:none; background:#8ef000; color:#071107; box-shadow:0 0 22px rgba(142,240,0,.40),0 6px 20px rgba(0,0,0,.55); font-size:14px; font-weight:900; line-height:1.2; transition:transform .2s,box-shadow .2s; }
.whatsapp-flutuante .ic { display:block; width:30px; height:30px; flex:0 0 30px; }
.whatsapp-flutuante:hover,.whatsapp-flutuante:focus-visible { transform:translateY(-2px); box-shadow:0 0 32px rgba(142,240,0,.6); }
.whatsapp-flutuante:focus-visible { outline:3px solid #fff; outline-offset:3px; }
@media(max-width:650px){ .whatsapp-flutuante { right:14px; bottom:calc(84px + env(safe-area-inset-bottom,0px)); width:56px; height:56px; min-height:56px; padding:0; } .whatsapp-flutuante span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; } .whatsapp-flutuante .ic { width:30px; height:30px; } }
@media(prefers-reduced-motion:reduce){ .whatsapp-flutuante { transition:none; } }

/* WhatsApp flutuante: ícone circular verde/branco + texto visível, sem pílula verde inteira. */
.whatsapp-flutuante { background:transparent; box-shadow:none; padding:0; gap:10px; color:#fff; min-height:58px; border-radius:999px; }
.whatsapp-flutuante__simbolo { width:58px; height:58px; flex:0 0 58px; display:grid; place-items:center; border-radius:50%; background:#25d366; border:3px solid #fff; box-shadow:0 5px 22px rgba(37,211,102,.38); }
.whatsapp-flutuante .whatsapp-flutuante__simbolo .ic { width:43px; height:43px; display:block; }
.whatsapp-flutuante__texto { padding:13px 17px; border-radius:999px; background:rgba(14,11,18,.94); color:white; font-size:14px; font-weight:800; white-space:nowrap; box-shadow:0 6px 18px rgba(0,0,0,.4); }
.whatsapp-flutuante:hover,.whatsapp-flutuante:focus-visible { box-shadow:none; }
.whatsapp-flutuante:hover .whatsapp-flutuante__simbolo { box-shadow:0 0 28px rgba(37,211,102,.65); }
@media(max-width:650px){ .whatsapp-flutuante { width:auto; height:auto; min-height:56px; padding:0; right:12px; gap:7px; } .whatsapp-flutuante__simbolo { width:52px; height:52px; flex-basis:52px; } .whatsapp-flutuante .whatsapp-flutuante__simbolo .ic { width:39px; height:39px; } .whatsapp-flutuante .whatsapp-flutuante__texto { position:static; width:auto; height:auto; overflow:visible; clip:auto; margin:0; padding:11px 13px; border:0; font-size:12px; } }

/* Vitrine de ofertas: quatro atributos fixos — data, hospedagem, refeições, origem do voo. */
.ofertas__vitrine .vitrine-card__dados ul { display:grid; grid-template-rows:repeat(4,minmax(0,auto)); row-gap:4px; }
.ofertas__vitrine .vitrine-card__dados ul li { min-width:0; }

/* WhatsApp flutuante: ícone acima, legenda centralizada abaixo (desktop e mobile). */
.whatsapp-flutuante { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px; right:18px; width:132px; min-height:0; padding:0; border-radius:0; background:transparent; }
.whatsapp-flutuante__simbolo { width:64px; height:64px; flex:0 0 64px; }
.whatsapp-flutuante .whatsapp-flutuante__simbolo .ic { width:47px; height:47px; }
.whatsapp-flutuante .whatsapp-flutuante__texto { position:static; display:block; width:auto; height:auto; overflow:visible; clip:auto; margin:0; padding:7px 10px; border:0; border-radius:12px; font-size:12px; line-height:1.2; text-align:center; white-space:nowrap; background:rgba(14,11,18,.94); }
@media(max-width:650px) { .whatsapp-flutuante { right:8px; bottom:calc(86px + env(safe-area-inset-bottom,0px)); width:114px; height:auto; min-height:0; gap:5px; } .whatsapp-flutuante__simbolo { width:54px; height:54px; flex:0 0 54px; } .whatsapp-flutuante .whatsapp-flutuante__simbolo .ic { width:40px; height:40px; } .whatsapp-flutuante .whatsapp-flutuante__texto { position:static; width:auto; height:auto; overflow:visible; clip:auto; margin:0; padding:6px 8px; font-size:11px; white-space:nowrap; } }

/* Corrige regra antiga de ocultação de spans no mobile: somente a legenda é texto;
   o contêiner do símbolo deve permanecer visível em todas as larguras. */
.whatsapp-flutuante .whatsapp-flutuante__simbolo { position:relative; display:grid; place-items:center; overflow:visible; clip:auto; clip-path:none; margin:0; padding:0; border:3px solid #fff; border-radius:50%; background:#25d366; }
.whatsapp-flutuante .whatsapp-flutuante__simbolo .ic { display:block; visibility:visible; opacity:1; }
@media(max-width:650px){
  .whatsapp-flutuante .whatsapp-flutuante__simbolo { position:relative; display:grid; width:54px; height:54px; min-width:54px; min-height:54px; flex:0 0 54px; margin:0; padding:0; overflow:visible; clip:auto; clip-path:none; white-space:normal; border:3px solid #fff; border-radius:50%; }
  .whatsapp-flutuante .whatsapp-flutuante__texto { display:block; position:static; width:auto; height:auto; overflow:visible; clip:auto; clip-path:none; white-space:nowrap; }
}

/* Ajuste apenas no mobile quando a faixa animada estiver sob o contato flutuante: deslocar discretamente o botão para baixo. */
@media(max-width:650px){ .whatsapp-flutuante { bottom:calc(65px + env(safe-area-inset-bottom,0px)); } }

/* WhatsApp flutuante no celular: posição contextual controlada por app.js
   (iniciarWhatsappFlutuante). Base no ponto mais baixo, acima da área segura. */
@media(max-width:650px){
  .whatsapp-flutuante { bottom:calc(32px + env(safe-area-inset-bottom,0px)); transform:translateY(var(--wa-desloc,0px)); transition:transform .25s ease, opacity .2s ease, visibility .2s; }
  .whatsapp-flutuante.is-recolhido { opacity:0; visibility:hidden; pointer-events:none; }
  .whatsapp-flutuante:hover,.whatsapp-flutuante:focus-visible { transform:translateY(var(--wa-desloc,0px)); }
}
@media(max-width:650px) and (prefers-reduced-motion:reduce){ .whatsapp-flutuante { transition:none; } }
/* Espaço no fim do rodapé (celular) para a última linha subir acima do WhatsApp flutuante. */
@media(max-width:650px){ .rodape { padding-bottom:calc(28px + 96px); } }

/* === Escala de espaçamento unificada — BLACK BORA 2026 ===
   Mantém a abertura (hero) e a faixa em seus ritmos próprios.
   Compensa as exceções históricas sem alterar componentes ou conteúdos. */
:root {
  --espaco-secao-mobile: 44px;
  --espaco-secao-tablet: 54px;
  --espaco-secao-desktop: 64px;
  --espaco-cabecalho-mobile: 22px;
  --espaco-cabecalho-desktop: 28px;
}
main > .secao:not(.final) { padding-block:var(--espaco-secao-mobile); }
main > .secao:not(.final) .secao__cabecalho { margin-bottom:var(--espaco-cabecalho-mobile); }
main > .secao.final { padding-block:48px; }
.rodape { padding-top:40px; padding-bottom:32px; }
@media(min-width:640px) and (max-width:899px) {
  main > .secao:not(.final) { padding-block:var(--espaco-secao-tablet); }
  main > .secao:not(.final) .secao__cabecalho { margin-bottom:26px; }
  main > .secao.final { padding-block:54px; }
  .rodape { padding-top:48px; padding-bottom:36px; }
}
@media(min-width:900px) {
  main > .secao:not(.final) { padding-block:var(--espaco-secao-desktop); }
  main > .secao:not(.final) .secao__cabecalho { margin-bottom:var(--espaco-cabecalho-desktop); }
  main > .secao.final { padding-block:64px; }
  .rodape { padding-top:52px; padding-bottom:40px; }
}

/* ==========================================================================
   AUDITORIA UX/UI (02/11/2026) — ajustes pontuais encontrados nos testes
   360–1440 px. Ficam por último para prevalecer sobre camadas anteriores.
   ========================================================================== */

/* 1. Chamada final: início da seção sem "degrau" de cor em relação à anterior,
      e Nélio com fundo transparente (a moldura retangular da arte não aparece). */
main > .secao.final {
  background:
    radial-gradient(60% 70% at 95% 100%, rgba(190,20,240,.55), transparent 70%),
    radial-gradient(45% 60% at 60% 110%, rgba(130,10,170,.35), transparent 70%),
    radial-gradient(40% 50% at 90% 18%, rgba(120,10,150,.18), transparent 70%),
    linear-gradient(to bottom, rgba(14,3,16,0) 0, #0e0310 160px);
}
.final__nelio { -webkit-mask-image:none; mask-image:none; }

/* 2. A Bora em números: o valor nunca quebra ("5 CONTINENTES" em uma linha).
      Tablet (640–899) segue o formato em lista do celular, mais legível que
      três colunas estreitas; três colunas a partir de 900 px. */
.numero__valor { white-space:nowrap; }
@media (min-width:640px) and (max-width:899px) {
  .numeros__lista { grid-template-columns:1fr; gap:12px; }
  .numero, .numero:last-child { align-items:center; padding:18px 22px; border-top-width:1px; border-left-width:3px; }
  .numero { grid-template-columns:auto 1fr; }
  .numero:last-child { grid-template-columns:1fr; }
  .numero__valor { font-size:44px; }
}
@media (min-width:900px) {
  .numero__valor { font-size:clamp(26px, 2.45vw, 36px); }
}

/* 3. Rodapé no celular: espaço final para a última linha subir acima do
      WhatsApp flutuante (a regra unificada do PR #36 havia sobrescrito). */
@media (max-width:650px) { .rodape { padding-bottom:calc(32px + 96px); } }

/* 4. Botões do topo em telas de 360–374 px: rótulo em uma linha só,
      mantendo os dois botões com a mesma altura. */
@media (max-width:374px) {
  .hero .btn--grande { font-size:14.5px; padding-inline:12px; gap:8px; letter-spacing:.01em; }
}

/* 5. Vitrine: tamanhos mínimos de leitura quando o card fica estreito
      (celulares de 360 px e telas de 900–1100 px). */
.ofertas__vitrine .vitrine-card__dados li { font-size:max(10.5px, 3.65cqw); }
.ofertas__vitrine .vitrine-card__parcelamento small { font-size:max(8.5px, 3.3cqw); }
.ofertas__vitrine .vitrine-card__parcelamento small:last-child { font-size:max(8.5px, 2.8cqw); }

/* 6. Sobretítulos: evitar palavra sozinha na segunda linha. */
.sobretitulo { text-wrap:balance; }


/* Chamada final — composição aprovada com a assinatura do Nélio (04/11/2026).
   Restrita à seção final; preserva o rodapé e as demais seções. */
.final .final__interno { gap:clamp(22px,3.5vw,54px); }
.final__texto { width:100%; }
.final__titulo--convite {
  margin:0 0 clamp(38px,5vw,66px);
  color:#deff00;
  text-transform:uppercase;
  font-style:italic;
  font-size:clamp(38px,4.8vw,78px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.final__coracao { display:inline-block; font-style:normal; font-size:.75em; vertical-align:.07em; }
.final__nome { margin:0 0 16px; color:#fff; font-size:clamp(34px,4.3vw,62px); font-weight:900; line-height:1.08; }
.final__sub--assinatura { max-width:26ch; color:#e69afa; font-size:clamp(18px,2.35vw,30px); font-weight:800; font-style:italic; line-height:1.25; }
.final__nelio { object-fit:contain; max-width:100%; background:transparent; box-shadow:none; }
@media (min-width:860px) {
  /* A base do Nélio fica discretamente atrás da divisória com o rodapé. */
  .final { padding:36px 0 0; overflow:hidden; }
  .final .final__interno { grid-template-columns:minmax(0,57fr) minmax(0,43fr); }
  .final__texto { grid-column:1; grid-row:1; align-items:flex-start; text-align:left; }
  .final__nelio { grid-column:2; grid-row:1; justify-self:end; align-self:end; width:100%; max-width:465px; margin-bottom:-72px; }
}
@media (max-width:859px) {
  .final { padding:38px 0 0; overflow:hidden; }
  .final__titulo--convite { margin-bottom:30px; }
  .final__nome { margin-bottom:12px; }
  .final__nelio { width:min(340px,86%); margin-bottom:-30px; }
}
@media (max-width:390px) {
  .final__titulo--convite { font-size:clamp(34px,10.5vw,40px); }
}
